setfacl rwx-命令后无法删除或更改文件

setfacl rwx-命令后无法删除或更改文件

使用 root 用户,我执行了以下命令:

setfacl -R -d -m u:MYUSER:rwx /myfolder

然后,当我更改为该用户 ( su MYUSER) 并尝试删除文件时(rm /myfolder/somefile.sql然后我收到此错误:

rm: cannot remove 'somefile.sql': Permission denied

mv也做不到;然后我得到这个错误:

mv: cannot move 'somefile.sql' to 'someotherfile.sql': Permission denied

我已经添加了MYUSER, /etc/sudoers- 所以当我运行: 时sudo rm /myfolder/somefile.sql,系统会提示我输入MYUSERs 密码;然后就可以了。但我需要它在没有 的情况下工作sudo,所以我可以将它作为 crontab 作业运行。

如果我写getfacl /myfolder,那么我会得到以下输出:

# file: /myfolder/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:MYUSER:rwx       <-- That looks right, doesn't it?
default:group::r-x
default:mask::rwx
default:other::r-x

...为什么以宙斯的名义我不能删除这个目录中的文件?

答案1

MYUSER是默认所有者,但不是有效所有者。

你需要运行两者

setfacl -R -d -m u:MYUSER:rwx /myfolder
setfacl -R    -m u:MYUSER:rwx /myfolder

请注意第二个命令没有默认 ( -d/ --default) 标志。

这个灵魂导致getfacl给予

# file: /myfolder/
# owner: root
# group: root
user::rwx
user:MYUSER:rwx
group::r-x
other::r-x
default:user::rwx
default:user:MYUSER:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

答案2

setfacl(与firewalld) 应该始终运行两次。一旦-d设置默认权限,将影响新创建的文件,而没有设置默认权限则影响实际文件。

相关内容