1

我对 Linux 权限有点困惑。我正在配置用户通过 SSH 访问的 Git 中央存储库。我正在使用文件系统 ACL(链接)和常规 linux 权限。我打算做的是:

  • 找到一种方法,只有我想要的用户才能列出/读取/写入/执行目录“/var/github”(以一种方式,我将一个组分配给我想要给这种类型的用户权限)
  • 用户“git”是唯一可以在“/var/github”中创建新文件夹的用户

这有可能吗?关于如何做到这一点的一些线索?

最好的祝福,

4

3 回答 3

2

chown git:git /var/github; chmod 750 !$

现在只有组git可以读取文件夹,只有用户git可以修改它。

于 2011-10-04T21:48:35.263 回答
1

确保与用户“git”一起存在一个“git”组。将所有用户添加到您将授予访问权限的组中。把你目录的ownership属性改成user和group git,然后是750的权限。ownership和mode命令如下:

chown git:git /var/github
chmod 750 /var/github

750 的权限允许用户在文件夹中执行几乎所有操作,并且只有“git”组的成员才能读取并可能在该文件夹中执行。您用于用户管理的程序和命令取决于您。

于 2011-10-04T21:45:26.363 回答
1

您可以使用访问控制列表授予对多个组的访问权限。这是一个示例会话(使用 Ubuntu,但对于 CentOS 应该相同),它授予grp1组读取权限以及grp2组读取、写入和执行权限:

$ touch foo
$ setfacl -m "g:grp1:r--,g:grp2:rwx" foo
$ getfacl foo
# file: foo
# owner: me
# group: me
user::rw-
group::r--
group:grp2:rwx
group:grp1:r--
mask::rwx
other::r--
于 2011-10-05T01:17:34.293 回答