如何获取 ACL 以允许组拥有文件夹的权限

如何获取 ACL 以允许组拥有文件夹的权限

我有点困惑如何让它工作。

我已经使 ACL 正常工作,并且需要创建两个组:

  • github-total:组,该组中的用户对文件夹“/var/git”有读/写/执行的权限。
  • github-read:组内的用户有对文件夹“/var/git”进行读取的权限。

对于“github-total”组我做了以下事情:

作为“git”用户:

$ cd /var
$ mkdir github
$ chmod 770 github
$ ls -al
drwxrwx---+  3 git git   4096 Oct  4 21:48 github


# useradd andre -m
# passwd andre
# groupadd github-total
# usermod -a -G github-total andre
# id andre
uid=500(andre) gid=500(andre) groups=500(andre),502(github-total) context=user_u:system_r:unconfined_t
# cd /var
# setfacl -R -m group:github-total:rwx github
# setfacl -R -d -m group:github-total:rwx github
# getfacl github
file: github
owner: git
group: git
user::rwx
user:git:rwx
group::rwx
group:git:rwx
group:github-total:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:github-total:rwx
default:mask::rwx
default:other::---

不幸的是,这对我来说不起作用,对于用户“andre”,我无法列出“/var/github”

$ cd /var/github
bash: cd: /var/github: Permission denied

我如何列出此文件夹并将组添加到 ACL?

此致,

附言:抱歉我的英语不好……

答案1

您已更新用户帐户 (/etc/group),但是您的目前正在运行进程尚未加入新组。这是因为每个进程都有自己的凭据,包括辅助组列表,对于登录会话,该列表在登录时初始化一次并由您的进程继承。

id显示其自身进程所拥有的凭证,并id username从帐户数据库中读取。)

要解决您的问题,请注销,然后重新登录。您将在列表中看到新组。

为了临时解决问题,您可以自己su解决sudo -s -u

相关内容