小编ema*_*rti的帖子

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
查看次数

标签 统计

acl ×1

backup ×1

permissions ×1