我正在尝试弄清楚如何设置目录的权限,(/apps)
以便root
用户和另一个用户都justin
可以读取和写入该目录。
用户 justin 是群组 的成员devs
。
/apps 的权限为drwxrwsr-x
,所有者为 root ,组为 devs。此外,它还设置了 gid;chmod g+s /apps
问题是,如果我以 root 用户的身份接触 /apps 内的文件 (test),则所有者是 root,组是 devs。该文件的权限是-rw-r--r--
。如果我切换到用户 justin 并尝试修改 test,则会被拒绝权限。
基本上,实现此目的的最佳方法是什么?我希望 root 可以创建目录和文件,并且justin
可以读取和写入这些文件和目录。这需要自动化,因为创建文件和目录后它就可以正常工作,手动更新权限不是一种选择。
答案1
您已经找到了解决方案的大部分内容,剩下要做的就是更正 root 创建内容的权限。至少有两种方法
您可以修改根端进程以
chmod
在修改文件后调用。我认为这不适用于您的情况,因为那时您可能只会调用chown
而chmod
没有设置 sgid 目录。您可以
umask
针对 root 进程进行修改。我认为最好只针对此进程修改 umask,而不是针对 root 环境,因为有时 root 会触碰其他用户不应该触碰的文件,并且通常最好记住打开访问权限而不是关闭间隙。因此,您可以umask 0007
在以 root 身份运行的二进制文件的调用前面添加。