标签: chgrp

为某个目录中的新文件指定默认组和权限

我有一个目录,其中有一个由多个用户共享的项目。这些用户使用 SSH 访问此目录并修改/创建文件。

这个项目应该只对特定的用户组是可写的:我们称之为“mygroup”。在 SSH 会话期间,当前用户创建的所有文件/目录默认应归组“mygroup”所有,并具有组可写权限。

我可以解决权限问题umask

$ cd project
$ umask 002
$ touch test.txt
Run Code Online (Sandbox Code Playgroud)

文件“test.txt”现在是组可写的,但仍然属于我的默认组(“mislav”,与我的用户名相同)而不是“mygroup”。我可以chgrp递归地设置所需的组,但我想知道是否有一种方法可以隐式设置某些组,例如 umask 在会话期间更改默认权限。

这个特定目录是一个带有工作副本的共享 git 存储库,我希望git checkoutgit reset操作为在工作副本中创建的新文件设置正确的掩码和组。操作系统是 Ubuntu Linux。

更新:一位同事建议我应该查看POSIX ACL 的getfacl/setfacl,但下面结合umask 002当前会话中的解决方案对我来说已经足够了,而且要简单得多。

unix permissions posix umask chgrp

16
推荐指数
3
解决办法
2万
查看次数

OSX 相当于 sudo chgrp -R www-data <directory>

我通常做

sudo chgrp -R www-data <directory>
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 上设置一个可由 Apache 进程写入的文件夹。什么是 Mac OS X 等价物www-data

mac-osx chgrp

9
推荐指数
1
解决办法
2万
查看次数

如何使新文件自动属于组?

我已经将 chgrp 用于“日志”和“缓存”目录,以及 chmod 770,因此分配到该站点的 linux 用户(用于从命令行执行脚本)和用户“apache”都可以读/写日志和缓存文件(因为两个用户都属于该站点的组)。

问题是当其中一个创建文件时,另一个无法写入或删除它。正在创建的文件归其创建者所有,但不属于该组。我认为在父目录中使用 chgrp 是解决方案。

有任何想法吗?

PS:我使用的是 Centos 5.5 和 PHP 5.3

linux php website centos chgrp

2
推荐指数
1
解决办法
1679
查看次数

尽管 --no-g rsync 遇到 chgrp 错误

我正在使用 rsync 将目录同步到 USB 安装的设备。该设备随myuser:root所有权自动挂载。当我使用 rsync 我的目录(具有myuser:myuser所有权)时-a,我收到许多以下错误:

rsync: chgrp "filename" failed: Operation not permitted (1)
Run Code Online (Sandbox Code Playgroud)

我尝试--no-g-a选项之后添加(因为在这种情况下我不关心设置组),但错误仍然存​​在。我需要做些什么来阻止 rsync 尝试chgrp一切?

permissions rsync usb chgrp

2
推荐指数
1
解决办法
2万
查看次数

Linux 目录权限

我有一个由 root 创建的文件夹,我希望能够向用户组添加权限,以便他们可以移动文件等。

我做了以下事情:

chgrp -R developers testdir
Run Code Online (Sandbox Code Playgroud)

文件所有者现在是 root,组所有者是开发人员。为什么开发人员中的用户还不能进行更改?

linux chgrp

-5
推荐指数
1
解决办法
906
查看次数

标签 统计

chgrp ×5

linux ×2

permissions ×2

centos ×1

mac-osx ×1

php ×1

posix ×1

rsync ×1

umask ×1

unix ×1

usb ×1

website ×1