将ACL与多个默认组一起使用

克里斯托弗

通过阅读有关Linux ACL的教程,我了解了类似问题的答案,并刷新了我对ACL的记忆。但是,我仍然很困惑。我做错了什么,或者我不明白什么?

我有一个装有该acl选件的文件系统

user@host:/srv$ grep srv /etc/fstab
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /srv ext4 relatime,nodev,nosuid,user_xattr,acl 0 2

用户userdevs的成员

user@host:/srv$ id
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),1001(devs)

umask是正常的。

user@host:/srv$ umask
0022

目录已创建;设置组所有权和权限。

user@host:/srv$ sudo mkdir lib; sudo chmod 0750 lib && sudo chgrp www-data lib
user@host:/srv$ ls -l
total 24
drwxr-x---  2 root www-data  4096 May 21 18:00 lib
drwx------  2 root root     16384 Feb 17 18:22 lost+found
drwxr-xr-x  3 root www-data  4096 May 21 17:25 www

ACL将应用于新目录。

user@host:/srv$ sudo setfacl -d -m g:devs:5 lib/
user@host:/srv$ getfacl lib
# file: lib
# owner: root
# group: www-data
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:devs:r-x
default:mask::r-x
default:other::---

我认为我应该能够获得目录列表,但是我不能。

user@host:/srv$ ls lib/
ls: cannot open directory lib/: Permission denied
克里斯托弗

Gah-facepalm!-d开关用于lib目录中的新文件和目录。必须为lib目录本身定义一个显式ACL。

删除ACL。

user@host:/srv$ sudo setfacl -b lib
user@host:/srv$ ls -l
total 24
drwxr-x---  2 root www-data  4096 May 21 19:06 lib
drwx------  2 root root     16384 Feb 17 18:22 lost+found
drwxr-x---  3 root www-data  4096 May 21 17:25 www

设置默认ACL。

user@host:/srv$ sudo setfacl -d -m g:devs:5 lib/
user@host:/srv$ getfacl lib
# file: lib
# owner: root
# group: www-data
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:devs:r-x
default:mask::r-x
default:other::---

测试ACL是否允许devs组的成员使用ls

user@host:/srv$ ls lib/
ls: cannot open directory lib/: Permission denied

为目录添加一个新的ACL,不带-d(默认)开关。

user@host:/srv$ sudo setfacl -m g:devs:5 lib/
user@host:/srv$ ls lib/
user@host:/srv$ ls -l lib/
total 0

将文件复制到lib目录中。

user@host:/srv$ sudo cp /etc/hostname lib/
user@host:/srv$ cat lib/hostname
host

显示权限。

user@host:/srv$ ls -l lib/
total 4
-rw-r-----+ 1 root root 6 May 21 19:15 hostname

显示ACL。

user@host:/srv$ getfacl lib/hostname
# file: lib/hostname
# owner: root
# group: root
user::rw-
group::r-x                      #effective:r--
group:devs:r-x                  #effective:r--
mask::r--
other::---

我很高兴收到关于此的任何进一步的见解。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将ng-model与多个ng重复的单选按钮组一起使用

来自分类Dev

将find与2组变量一起使用

来自分类Dev

将多个计数与多个where子句一起使用

来自分类Dev

Python将* args与默认参数一起使用

来自分类Dev

Python将* args与默认参数一起使用

来自分类Dev

将R中的same()与多个向量一起使用

来自分类Dev

将地图与多个参数一起使用

来自分类Dev

如何将QVector与多个对象一起使用

来自分类Dev

将SQL聚合函数与多个联接一起使用

来自分类Dev

如何将AdControl与多个AdUnitId一起使用?

来自分类Dev

将单个JTextArea与多个UndoManager一起使用

来自分类Dev

如何将componentsSeparatedByString与多个对象一起使用

来自分类Dev

将clearTimeout与setTimeout的多个实例一起使用

来自分类Dev

将inputAccessoryView与多个UITextField和ViewController一起使用

来自分类Dev

将execl与多个子进程一起使用

来自分类Dev

将Packery与多个容器一起使用?

来自分类Dev

如何将ArgumentOutOfRangeException与多个参数一起使用?

来自分类Dev

将ifeq与多个选项一起使用

来自分类Dev

Pyspark:将repartitionAndSortWithinPartitions与多个Critiria一起使用

来自分类Dev

将$ _GET与URL中的多个参数一起使用

来自分类Dev

AngularJS:将$ routeProvider与多个模块一起使用?

来自分类Dev

将TortoiseGit与多个GitLab帐户一起使用

来自分类Dev

将构造函数与多个文件一起使用Javascript

来自分类Dev

如何将Safeargs与多个navGraphs一起使用

来自分类Dev

将UIPageViewController与多个视图一起使用

来自分类Dev

将readHTMLTable与多个tbody一起使用

来自分类Dev

将mv命令与多个通配符一起使用

来自分类Dev

将inputAccessoryView与多个UITextField和ViewController一起使用

来自分类Dev

将Packery与多个容器一起使用?

Related 相关文章

  1. 1

    将ng-model与多个ng重复的单选按钮组一起使用

  2. 2

    将find与2组变量一起使用

  3. 3

    将多个计数与多个where子句一起使用

  4. 4

    Python将* args与默认参数一起使用

  5. 5

    Python将* args与默认参数一起使用

  6. 6

    将R中的same()与多个向量一起使用

  7. 7

    将地图与多个参数一起使用

  8. 8

    如何将QVector与多个对象一起使用

  9. 9

    将SQL聚合函数与多个联接一起使用

  10. 10

    如何将AdControl与多个AdUnitId一起使用?

  11. 11

    将单个JTextArea与多个UndoManager一起使用

  12. 12

    如何将componentsSeparatedByString与多个对象一起使用

  13. 13

    将clearTimeout与setTimeout的多个实例一起使用

  14. 14

    将inputAccessoryView与多个UITextField和ViewController一起使用

  15. 15

    将execl与多个子进程一起使用

  16. 16

    将Packery与多个容器一起使用?

  17. 17

    如何将ArgumentOutOfRangeException与多个参数一起使用?

  18. 18

    将ifeq与多个选项一起使用

  19. 19

    Pyspark:将repartitionAndSortWithinPartitions与多个Critiria一起使用

  20. 20

    将$ _GET与URL中的多个参数一起使用

  21. 21

    AngularJS:将$ routeProvider与多个模块一起使用?

  22. 22

    将TortoiseGit与多个GitLab帐户一起使用

  23. 23

    将构造函数与多个文件一起使用Javascript

  24. 24

    如何将Safeargs与多个navGraphs一起使用

  25. 25

    将UIPageViewController与多个视图一起使用

  26. 26

    将readHTMLTable与多个tbody一起使用

  27. 27

    将mv命令与多个通配符一起使用

  28. 28

    将inputAccessoryView与多个UITextField和ViewController一起使用

  29. 29

    将Packery与多个容器一起使用?

热门标签

归档