如何管理Linux文件夹的权限?

时间:2011-10-04 21:37:02

标签: linux git centos user-permissions

我对Linux权限有点困惑。我正在配置用户通过SSH访问的Git Central Repository。我正在使用文件系统ACL(link)和常规Linux权限。我打算做的是:

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

这可能吗?一些人如何做到这一点的线索?

最诚挚的问候,

3 个答案:

答案 0 :(得分:2)

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

现在只有群组git才能阅读该文件夹,只有用户git可以修改该文件夹。

答案 1 :(得分:1)

确保与用户“git”一起存在“git”组。将所有用户添加到您将授予访问权限的组中。将目录的所有权属性更改为用户和组git,然后将权限更改为750.所有权和模式命令如下:

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

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

答案 2 :(得分:1)

您可以使用access control lists授予对多个群组的访问权限。这是一个示例会话(使用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--