该临时文件由 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)。设置此模式后,只有文件所有者可以移动或删除该目录中的文件,无论是否有权限。