【问题标题】:How to give to some user permissions only to subfolder [closed]如何仅授予某些用户对子文件夹的权限[关闭]
【发布时间】:2013-10-07 07:12:32
【问题描述】:

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

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

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

我使用 getfacl 和 setfacl 命令授予权限。

这些用户应该对 dir1 和 subdirs 拥有什么权限?

【问题讨论】:

  • (这个问题是否属于 StackOverflow?投票将其移至 ServerFault 或 SuperUser)

标签: linux ubuntu permissions debian


【解决方案1】:

要允许所有用户查看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

现在所有用户都看到文件夹 user* 存在,但他们只能进入自己的文件夹

更新 抱歉,无法在 cmets 中格式化文本。

当我的用户多于这三个时,我只想要这三个 能够进入 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 下的文件夹列表

【讨论】:

  • 当我的用户多于这三个时,我只希望这三个能够进入 dir1 - 那么呢?
  • @pawel 在这种情况下使用组。
  • 那么你必须给他们分配一个特殊的组并允许这个组读取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下
猜你喜欢
  • 2019-04-13
  • 2015-06-27
  • 1970-01-01
  • 2019-06-18
  • 2014-03-14
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
相关资源
最近更新 更多