好吧,我知道这可能是一个超级新手问题,但我一直在研究这个问题,并尝试尽我所知的一切来解决这个问题,但只是无法弄清楚。
基本上,我想在本地服务器上创建一个文件系统,以允许我和其他人使用 samba 进行访问,但权限让我很烦恼。
基本上我希望结构是这样的:
共享文件(每个人都可以访问)
用户1(仅由我rwx)
-user 2(我和用户2 rwx)
--user 3(由我、用户2和用户3 rwx)
--user 4(由我、用户2和用户4 rwx)
--user 5(由我、用户2和用户5 rwx)
文件夹层次结构将是顶部的用户 1 文件夹,然后用户 2 将是该文件夹的子文件夹,然后用户 3、4、5 将是用户 2 的子文件夹。
所以我想我理解 samba 权限是我可以做“有效用户 = 用户 1、用户 2...等等”,但实际的 Linux 权限超出了我的范围
答案1
您可以使用组权限来执行此操作,以便较高级别的用户(1 和 2)位于较低级别的用户组中。
对于每个用户,都有一个以该用户名命名的用户组,因此请按如下方式设置用户的组成员身份:
- 用户 1 是组 1、2、3、4、5 的成员
- 用户 2 是组 2、3、4、5 的成员
- 用户 3、4、5 不是任何其他组的成员。
确保对更高级别目录具有通用执行访问权限,以便所有用户都可以访问层次结构。语法是
usermod -aG <groupname[,groupname]> <username>
# usermod -aG 2,3,4,5 1
# usermod -aG 3,4,5 2
等等...
您的目录权限应该是775,即用户和组具有完全访问权限,而世界只能读取和执行。如果您不希望 4 和 5 完全访问 3 的个人目录,那么您可以将 3 的权限设置为 770
# chmod 775 3
等等。