Answers:
您想要设置SetGID位。
chmod g+s dir
在目录中创建的所有新文件将其组设置为目录的组。
一位超级用户博客文章解释了粘性位和其他Linux权限位:
但是,SetGID是一个完全不同的球类游戏。当目录的SetGID位置1并在该目录中创建文件时,文件的组所有权将自动修改为该目录的组。
在文件夹上设置setgid
权限标志。
chmod g+s dirname
这可能会使一些人陷入setgid的困境,如果文件夹的组与您自己的不同,则可能需要以root用户身份运行chmod,但是不会出现任何错误,表明您需要执行此操作。
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir
$ chmod g+s dir # no errors
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir # but nothing changed
$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo # and the group is set wrong
$ sudo chmod g+s dir
$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar 9 10:44 dir # the setgid bit is now on
$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar 9 10:51 withsudo # and the group is set right