如何给一些用户权限只给子文件夹

我有我的服务器上的根权限,我想授予特定的组和用户的权限。 有一种情况,有目录树:

dir1 ├── subdir1 ├── subdir2 ├── subdir3 

我有三个用户(user1,user2,user3) – 我希望他们每个人只有一个目录(user1 – subdir1,user2 – subdir2,user3 – subdir3)的权限。 User1不应该能够看到什么int subdir2或subdir3,但他不能看到它们存在,与其他用户和他们的目录相同。

我使用getfacl和setfacl命令给予保证。

这些用户应该拥有哪些权限,以及dir1和subdirs?

要允许所有用户在dir1查看文件列表,请将权限0755设置为该文件夹

 $ chmod dir1 0755 

要分离对子文件夹的访问权,请将所有者分配给每个文件夹

 $ cd dir1 $ chown user1:user1 -R subdir1 $ chown user2:user2 -R subdir2 $ chown user3:user3 -R subdir3 

现在让子文件夹只能为他们的主人阅读:

 $ chmod user* 0700 

现在所有用户都看到文件夹用户*存在,但只能在自己的文件夹中输入

更新对不起,不能格式化评论中的文本。

当我有更多的用户比这三个,我只要这三个能够进入dir1 – 那么呢?

然后你必须给他们分配一个特殊的组,并允许这个组读取dir1的内容。

创建组specialusers

 $ groupadd specialusers 

添加此组中的用户

 $ usermod -aG specialusers user1 $ usermod -aG specialusers user2 $ usermod -aG specialusers user3 

允许specialusers用户阅读文件夹

 $ chown root:specialusers dir1 $ chmod dir1 0750 

现在,只有来自组specialusers用户的用户才能看到dir1下的文件夹列表