标签: acl

setfacl 错误地更改了组权限

为了备份服务器的“/home”目录树,我创建了一个“备份”帐户并使用 setfacl 使其可以读取整个目录。我的 cron 作业每晚都以 root 身份运行此命令:

setfacl -R -m u:backup:rx,d:u:backup:rx /home
Run Code Online (Sandbox Code Playgroud)

很好,除了一个问题:每当我运行此命令时,它都会更改我的 ssh 密钥的组权限。

me@myserver:~/.ssh$ ls /home/me/.ssh/id_rsa -l
-rw-r-x---+ 1 me me 1679 Jan  8 18:35 /home/me/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

好吧,这会导致我的 ssh 程序停止运行,因为它现在是组可读的。奇怪的是,getfacl 不同意这些权限。

me@myserver:~/.ssh$ getfacl /home/me/.ssh/id_rsa
getfacl: Removing leading '/' from absolute path names
# file: home/me/.ssh/id_rsa
# owner: me
# group: me
user::r--
user:backup:r-x
group::---
mask::r-x
other::---
Run Code Online (Sandbox Code Playgroud)

getfacl 认为该文件不是组可读的。如果我运行明显的命令

chmod 400 id_rsa
Run Code Online (Sandbox Code Playgroud)

权限是固定的,但每次我重新运行原始命令时都会恢复(setfacl -R -mu:backup:rx,d:u:backup:rx /home)。这是怎么回事?

注意:我确实希望我的 id_rsa 备份,所以我们不用担心这些安全隐患。

acl backup permissions

7
推荐指数
2
解决办法
3654
查看次数

组成员无法使用 reiserfs 和扩展 ACL 写入组可写文件

用户virust共享组rust并希望以共享方式使用某些文件。

rust$ ls -l myfile 
-rw-rw-r-- 1 vi rust 0 May 30 03:48 myfile
rust$ stat myfile  | grep Gid
Access: (0664/-rw-rw-r--)  Uid: ( 1000/      vi)   Gid: ( 1057/    rust)
rust$ id
uid=1048(rust) gid=1057(rust) groups=1057(rust),...

rust$ cat myfile
rust$ touch myfile 
touch: cannot touch ‘myfile’: Permission denied
rust $ dd of=myfile 
dd: failed to open ‘myfile’: Permission denied

vi$ id
uid=1000(vi) gid=1000(vi) groups=1000(vi),{many unrelated groups skipped},1057(rust),{many unrelated groups skipped}
vi$ touch myfile
vi$ 
Run Code Online (Sandbox Code Playgroud)

尽管有 …

linux acl permissions files reiserfs

7
推荐指数
1
解决办法
243
查看次数

Mercurial (hg) 不遵守默认 ACL 设置

我正在尝试使用 ACL 为各种 mercurial 存储库设置细粒度的访问控制。当我将更改推送到存储库时,在其下创建的任何新文件/myrepo/.hg/store/data都没有默认权限,用户无法访问它们。

该问题是可重现的。假设用户“myuser”是 www-data 组的一部分。在服务器上:

hg init /tmp/test
chown root:root /tmp/test
chmod 770 /tmp/test
setfacl -Rdm g:www-data:rwx /tmp/test
setfacl -Rm g:www-data:rwx /tmp/test
Run Code Online (Sandbox Code Playgroud)

在带有 TortoiseHg 的 Windows 机器上,设置为使用plink.exe共享密钥用于 ssh:

hg clone ssh://myuser@servername//tmp/test test
#add file test1.txt and commit to test
hg push ssh://myuser@server//tmp/test
cd ..
hg clone ssh://myuser@servername//tmp/test test2  <---FAIL
Run Code Online (Sandbox Code Playgroud)

回到服务器上检查 ACL

getfacl /tmp/test/.hg/store/data/test1.txt.i
# file: tmp/test/.hg/store/data/test1.txt.i
# owner: myuser
# group: myuser
user::rw-
group::rw-
other::r--
Run Code Online (Sandbox Code Playgroud)

所以新文件不是使用我添加到父文件夹的默认权限创建的/tmp/test。当您hg pull在服务器和hg serve …

acl mercurial

6
推荐指数
1
解决办法
1081
查看次数

无法解释 ACL 行为

所以这就是情况:为 Web 开发人员获取服务器。有很多开发人员。所有developers+ PHP+Apache所属的www组。有一个开发目录 - development.

目标是development目录中的每个文件都有755权限,每当任何开发人员创建、修改development目录中的文件时,文件仍然具有755.

所以我已经阅读了许多acl教程、指南和操作方法,但我仍然无法得到我想要的结果。

  1. 我的磁盘安装了 acl
  2. 我有 chown -R www:www development
  3. 添加 chmod g+s development
  4. acldevelopment目录上设置了许多规则并得到了这个:

    $ getfacl development
    # file: development
    # owner: www
    # group: www
    # flags: -s-
    user::rwx
    user:www:rwx
    group::rwx
    group:www:rwx
    mask::rwx
    other::r-x
    default:user::rwx
    default:user:www:rwx
    default:group::rwx
    default:group:www:rwx
    default:mask::rwx
    default:other::r-x
    
    p.s. I know its messy, was doing a number of tests …
    Run Code Online (Sandbox Code Playgroud)

acl

6
推荐指数
1
解决办法
427
查看次数

谁可以更改 ACL 权限?

我正在使用 ACL 来控制对不同 Apache 实例和不同管理员组的 Web 根的访问。我有一个 Unix 组,admins-web22用于特定网站的管理员和apache-web22特定 apache 实例的用户。这些是在 web 根目录上设置的权限:

# file: web22
# owner: root
# group: root
user::rwx
user:apache-web22:r-x
group::rwx
group:webmaster:rwx
group:admins-web22:rwx
mask::rwx
other::---
default:user::rwx
default:user:apache-web22:r-x
default:group::rwx
default:group:admins-web22:rwx
default:mask::rwx
default:other::r-x
Run Code Online (Sandbox Code Playgroud)

有一个用户fred是 的成员admins-web22。该用户具有对该目录的完全读写访问权限(如上所述)。这工作正常。但是,该用户无法授予用户apache-web22对某些文件和目录的写权限,这一点很重要(例如,Web 管理员想要为 Drupal 设置上传目录)。该setfacl命令给出“不允许操作。”。

我的问题是,谁可以使用 授予权限setfacl,我怎样才能让组的用户自己admins-web22更改权限(为apache-web22)?

我正在运行 Debian Wheezy,如果它很重要,它是一个 ext4 分区。

linux acl permissions privileges

6
推荐指数
1
解决办法
2890
查看次数

在 ls -l 输出中查看带有“+”的文件的扩展 ACL

ls -l列表中的文件具有以下权限:

-rw-r-----+
Run Code Online (Sandbox Code Playgroud)

如何找到由+?表示的扩展访问控制列表 (ACL) 权限?

ls acl permissions

6
推荐指数
1
解决办法
2万
查看次数

setfacl 不支持操作?

这是此Q/A的后续问题。

我在我的笔记本电脑上尝试了这个命令,它起作用了:

setfacl -m 'u:programX:rwx' /etc/NetworkManager
Run Code Online (Sandbox Code Playgroud)

我检查了我的嵌入式设备是否已acl安装并标记为正确。

但是我发现在嵌入式设备上使用命令时我得到了setfacl: /etc/NetworkManager: Operation not supported.

当我检查man setfacl我的版本时acl似乎支持该-m标志。

为什么acl在我的笔记本电脑上运行正常时,设备上不支持该操作?


结果mount | grep -w /

/dev/block/mtd/by-name/linuxroot on / type ext4 (rw,relatime,barrier=1,data=ordered)
Run Code Online (Sandbox Code Playgroud)

acl permissions

6
推荐指数
1
解决办法
3万
查看次数

文件系统 ACL 中“掩码”的确切用途是什么?

当我在目录中应用默认 ACL 时,我看到default:mask或仅mask在以下两种情况下。

场景一

-bash-4.2$ ls -ld test/
 drwxr-x---. 2 test test 4096 Oct 15 19:12 test/

-bash-4.2$ setfacl -d -m u:arif:rwx test/

-bash-4.2$ getfacl --omit-header test
 user::rwx
 group::r-x
 other::---
 default:user::rwx
 default:user:arif:rwx
 default:group::r-x
 default:mask::rwx
 default:other::---
Run Code Online (Sandbox Code Playgroud)

场景二

-bash-4.2$ ls -dl dir/
 drwxr-x---. 2 test test 4096 Oct 15 18:17 dir/

-bash-4.2$ getfacl dir
 # file: dir
 # owner: test
 # group: test
 user::rwx
 group::r-x
 other::---

-bash-4.2$ setfacl -m user:arif:rwx dir

-bash-4.2$ getfacl --omit-header dir
 user::rwx
 user:arif:rwx
 group::r-x …
Run Code Online (Sandbox Code Playgroud)

linux acl permissions umask

6
推荐指数
1
解决办法
3633
查看次数

Linux:一种简单而优雅的方式来查找具有 acl 设置的所有文件?

我想找到所有设置了 acl 的文件。我知道这个肮脏的解决方案:查找目录中设置了 acl 的所有文件。/ETC

 sudo ls -lhR /etc|grep +
Run Code Online (Sandbox Code Playgroud)

有人知道更优雅的解决方案吗?

acl

6
推荐指数
1
解决办法
1506
查看次数

我可以在命令 setfacL 中取消特定用户的权限吗?

我知道这个setfacl是给予权限:

setfacl -m u:user:rwx myfolder
Run Code Online (Sandbox Code Playgroud)

但是是否有一个人可以获取以下权限:

setfacl -m u:user:-rwx myfolder
Run Code Online (Sandbox Code Playgroud)

acl permissions

6
推荐指数
1
解决办法
1597
查看次数

标签 统计

acl ×10

permissions ×7

linux ×3

backup ×1

files ×1

ls ×1

mercurial ×1

privileges ×1

reiserfs ×1

umask ×1