首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多文件夹-多用户权限

多文件夹-多用户权限
EN

Unix & Linux用户
提问于 2021-04-13 07:38:09
回答 1查看 394关注 0票数 0

我可以使用linux组和文件权限来允许多个人在多个文件夹中添加、修改和删除文件吗?

例如,在本地机器上:

让艾丽斯和鲍伯在福和巴上工作

Alice和Bob在foo和bar linux组中,foo和bar文件夹是根专有的尊重组:

代码语言:javascript
复制
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文件夹上工作。

代码语言:javascript
复制
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主组,这就是为什么我要问这个问题。

EN

回答 1

Unix & Linux用户

发布于 2021-04-16 10:01:03

我没有看到允许两个用户在同一个共享文件夹中修改相同文件的任何方法。

通常的解决方法看起来像使用版本控制工具。

在这种情况下,这是可以的,因为我们在这里使用GIT。

但是再次出现了一个问题:即使git只将文件添加到objects文件夹(除非您做了我们在这个问题的目标项目中不知道的事情),git也会在对象的子文件夹中收集文件,该子文件夹以提交哈希的两个第一个字符命名。

我们最终找到了一个解决办法,将所有目录创建为root,防止用户创建它们:

代码语言:javascript
复制
for i in {0..255};do j=$(printf "%02x\n" $i);mkdir -p $j;chmod 2775 $j;done

在裸回购的objects文件夹中完成,现在,一切都好了。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/644835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档