我有点困惑如何让它工作。
我已经使 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
。