linux getfacl 显示正确的权限,但用户无法从命令行 rm 文件。“权限被拒绝”

linux getfacl 显示正确的权限,但用户无法从命令行 rm 文件。“权限被拒绝”

该临时文件由 apache 创建

-rw-rw-r--+  1 apache apache   1960 Nov 16  2019 zlz7v5y9.php

执行以下操作时:

-bash-4.2$ rm zlz7v5y9.php

我得到:

rm: cannot remove ‘zlz7v5y9.php’: Permission denied

以下是权限:

-bash-4.2$ getfacl zlz7v5y9.php
# file: zlz7v5y9.php
# owner: apache
# group: apache
user::rw-
user:tomr:rwx               #effective:rw-
user:subtum:rwx             #effective:rw-
group::rwx                  #effective:rw-
mask::rw-
other::r--

奇怪的是,我可以编辑该文件但无法删除它。

为什么当我尝试删除此文件时会出现“权限被拒绝”的信息?

更新:重新为单个用户发出 setfacl 命令解决了两个用户的问题。显然 ACL 系统已经死机,setfacl 将其唤醒了?尽管它现在工作正常,但我想知道将来会发生什么。顺便说一句,这是一个多年来一直使用相同 ACL 配置的系统,它突然停止工作,没有任何变化。

更新#2:这个问题不断出现。我想知道是否有黑客入侵并导致了这个问题。但是,我运行tripwire,没有看到任何可疑的系统更改。

答案1

文件删除是基于目录权限,而不是文件权限。

您是否检查过目录权限(写入)?

注意:您可以设置一个目录,强制只有文件的所有者才能删除它。这对于临时目录很有用。

另外,请检查此目录是否设置了任何“粘性”又称“限制删除”模式 (o+t)。设置此模式后,只有文件所有者可以移动或删除该目录中的文件,无论是否有权限。

相关内容