我正在运行 Ubuntu 20.04.1 LTS,遇到一个问题,即新创建的用户添加到拥有文件夹的组中,无法在该文件夹中创建任何内容。我在网上读过关于这个问题的文章,并按照所有的说明操作,所以它应该可以工作,但事实并非如此。
$ sudo adduser bbpipeline
$ sudo usermod -G angular bbpipeline
$ sudo chmod g+rwx /home/angular
$ ls -l /home
drwxrwxr-x+ 7 angular angular 4096 Jan 26 10:32 angular
$ su bbpipeline
$ mkdir /home/angular/backups
mkdir: cannot create directory ‘/home/angular/backups’: Permission denied
$ id
uid=1005(bbpipeline) gid=1005(bbpipeline) groups=1005(bbpipeline),1004(angular)
我确实读到过用户必须重新登录,然后我这样做了……然后su
关闭终端并再次打开它并重新登录。仍然没有乐趣。没有 ACL,希望保持简单。
编辑:
$ getfacl /home/angular
getfacl: Removing leading '/' from absolute path names
# file: home/angular
# owner: angular
# group: angular
user::rwx
group::r-x
group:isolated:---
mask::rwx
other::r-x
自从 @grifferz 提到我应该检查后,我开始进一步探索getfacl
。似乎安装了 ACL,并且它也在管理用户权限。看到这一点后,我执行了:
$ getfacl -R /home/angular
$ sudo setfacl -m u:bbpipeline:rwx /home/angular
现在它可以正常工作了。我可以su bbpipeline
创建包含该用户的新文件夹/home/angular
。
答案1
问题表明:
$ ls -l /home
drwxrwxr-x+ 7 angular angular 4096 Jan 26 10:32 angular
末尾的“+”表示/主页/角度具有 POSIX 文件 ACL。
在编辑问题之前没有提到这一点,所以我建议 OP 做一个getfacl /home/angular
看看 ACL 是否有干扰,结果确实如此。
在探索了 ACL 之后,OP 现在已经自己回答了这个问题。