问题
我知道在设置了 GID 位的目录中创建的文件将继承目录的组所有权。但是,这不适用于移动到该目录的文件,如https://en.wikipedia.org/wiki/Setuid#setuid_and_setgid_on_directories中所述
碰巧用户将文件移动到共享文件夹而不是复制它们或创建新文件,现在共享文件夹中的文件并非所有人都可以访问。
例子:
有一个shread文件夹
john:/home/common$ ls -l
drwxrws--- 15 john users 4096 Feb 11 09:14 shared
和私人文件夹中的文件。
john:/home/john$ ls -l
-rw-rw---- 1 john john 512 Feb 11 09:14 test.txt
该文件将移至共享文件夹。它保留了组所有权。
john:/home/common/shared$ mv /home/john/test.txt .
john:/home/common/shared$ ls -l
-rw-rw---- 1 john john 512 Feb 11 09:14 test.txt
当文件移动到shared
时,组保持不变john
,不会更改为users
。如果文件被复制,则组更改为users
.
我的问题
尽管从系统的角度来看,这种行为是合乎逻辑的,但从用户的角度来看,这并不是所期望的。
有没有办法配置shared
目录,以便为移动的文件自动更改组?实现这一目标的最佳实践是什么?