我可以使用linux组和文件权限来允许多个人在多个文件夹中添加、修改和删除文件吗?
例如,在本地机器上:
让艾丽斯和鲍伯在福和巴上工作
Alice和Bob在foo和bar linux组中,foo和bar文件夹是根专有的尊重组:
id Alice
uid=1000(Alice) gid=1000(Alice) groups=1000(Alice),10(wheel),1002(foo),1003(bar)
id Bob
uid=1001(Bob) gid=1001(Bob) groups=1001(Bob),10(wheel),1002(foo),1003(bar)
ll
drwxrwsr-x 7 root foo 4096 Jan 26 09:09 foo
drwxrwsr-x 7 root bar 4096 Apr 13 09:36 bar让Peter只能在foo文件夹上工作,而不能在bar文件夹上工作。
id Peter
uid=1002(Peter) gid=1004(Peter) groups=1001(Bob),10(wheel),1002(foo)在linux上可以这样做吗?
我一直在使用GUID位和粘性位,但它们都不完全符合需要。
让Alice和Bob访问foo意味着将它们放到foo组中。将foo添加到其辅助组不会产生任何效果,Alice和Bob无法访问foo文件夹。
Alice和Bob不能同时在foo和bar主组,这就是为什么我要问这个问题。
发布于 2021-04-16 10:01:03
我没有看到允许两个用户在同一个共享文件夹中修改相同文件的任何方法。
通常的解决方法看起来像使用版本控制工具。
在这种情况下,这是可以的,因为我们在这里使用GIT。
但是再次出现了一个问题:即使git只将文件添加到objects文件夹(除非您做了我们在这个问题的目标项目中不知道的事情),git也会在对象的子文件夹中收集文件,该子文件夹以提交哈希的两个第一个字符命名。
我们最终找到了一个解决办法,将所有目录创建为root,防止用户创建它们:
for i in {0..255};do j=$(printf "%02x\n" $i);mkdir -p $j;chmod 2775 $j;done在裸回购的objects文件夹中完成,现在,一切都好了。
https://unix.stackexchange.com/questions/644835
复制相似问题