我对 Linux 权限有点困惑。我正在配置用户通过 SSH 访问的 Git 中央存储库。我正在使用文件系统 ACL(链接)和常规 linux 权限。我打算做的是:
- 找到一种方法,只有我想要的用户才能列出/读取/写入/执行目录“/var/github”(以一种方式,我将一个组分配给我想要给这种类型的用户权限)
- 用户“git”是唯一可以在“/var/github”中创建新文件夹的用户
这有可能吗?关于如何做到这一点的一些线索?
最好的祝福,
我对 Linux 权限有点困惑。我正在配置用户通过 SSH 访问的 Git 中央存储库。我正在使用文件系统 ACL(链接)和常规 linux 权限。我打算做的是:
这有可能吗?关于如何做到这一点的一些线索?
最好的祝福,
chown git:git /var/github; chmod 750 !$
现在只有组git
可以读取文件夹,只有用户git
可以修改它。
确保与用户“git”一起存在一个“git”组。将所有用户添加到您将授予访问权限的组中。把你目录的ownership属性改成user和group git,然后是750的权限。ownership和mode命令如下:
chown git:git /var/github
chmod 750 /var/github
750 的权限允许用户在文件夹中执行几乎所有操作,并且只有“git”组的成员才能读取并可能在该文件夹中执行。您用于用户管理的程序和命令取决于您。
您可以使用访问控制列表授予对多个组的访问权限。这是一个示例会话(使用 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--