Answers:
摘自Morbius1 在Ubuntu论坛上的出色文章。
Linux做这种事情的经典方式是这样的:
创建共享文件夹:
sudo mkdir /home/Shared
创建新用户的组:
sudo addgroup newgroup
将共享文件夹的所有权更改为新组:
sudo chown :newgroup /home/Shared
将所需的用户添加到该组:
sudo adduser user1 newgroup
对所有用户重复此操作。
现在,您可以决定要这些用户能够做什么:
[a]所有组用户都可以添加和删除文件夹,并且可以读取但不能写入彼此的文件:
sudo chmod 0770 /home/Shared
[b]与上述相同,但只有文件所有者可以删除它:
sudo chmod 1770 /home/Shared
[c]所有组用户都可以添加到文件夹或从文件夹中删除,并且可以读写彼此的文件:
sudo chmod 2770 /home/Shared
[d]与[c]相同,只不过文件所有者可以删除它:
sudo chmod 3770 /home/Shared
甲1
在chmod命令的所述第一位置是所述粘滞位,其防止一个文件的删除到所有者以外的任何人。
一个2
在chmod命令的第一个位置是setgid位,这迫使所有新的或复制的文件有组文件夹中。
甲3
在chmod命令的第一位置是粘性(的组合1
)的setgid( +2
)位。
就setgid位而言,所有这些都需要注意。实际上,在其中创建的所有新文件以及所有复制到该文件夹的文件都将继承该文件夹的组。但是没有文件移动到该文件夹。无论文件从何处移动,文件都保留所有权。解决此问题的一种方法是使用bindfs。
最后,如果您希望组外的其他人能够看到文件但不更改文件,请将chmod
命令中的最后0更改为5,例如:
sudo chmod 0775 /home/Shared