31 linux permissions rm files
我有 2 个文件的目录考试。我需要删除文件但权限被拒绝。即使rm -rf命令也无法删除这些文件。我以 root 用户身份登录。

Inv*_*ker 56
从 root 用户检查文件的属性
# lsattr
Run Code Online (Sandbox Code Playgroud)
如果您注意到i(immutable) 或a(append-only),请删除这些属性:
# man chattr
# chattr -i [filename]
# chattr -a [filename]
Run Code Online (Sandbox Code Playgroud)
Gil*_*il' 20
rm抱怨您无权删除文件的最常见原因是目录权限禁止您删除文件。为了删除文件,您需要对该目录的写权限。文件的权限无关紧要(在删除只读文件之前rm没有-f确认提示,但这只是确认,而不是限制)。在某些 Unix 变体上,例如 OSX(但不是 Linux),文件上的ACL可以防止删除;如果文件上有 ACL 条目,ls -l则将显示@在权限字段的末尾。
以 root 身份访问会绕过权限,因此即使在只读目录中,root 也可以删除文件。
来自的输出在权限列的末尾ls -l显示 a .。这表明该文件具有 SELinux 安全上下文。与基本权限和 ACL 不同,文件上的 SELinux 安全上下文可以控制允许谁删除它。此外,SELinux 不能总是被 root 绕过(可以让进程以用户 ID 0 身份运行,但其权限与 SELinux 策略设计者选择的一样少)。要查看 SELinux 上下文允许您做什么,请运行ls -lZ . exam_a.
另一个可以防止文件被删除的事情是它或包含它的目录是否具有 append-only 或 immutable Linux 属性。运行lsattr -d . exam_a以查看 Linux 属性。如果aori属性打开,您需要删除它 ( chattr -a -i . exam_a) 才能删除文件;只有 root 可以做到这一点。Root 无法绕过这些属性删除文件,必须先关闭这些属性。
阻止文件被删除的另一件事是文件系统是否以只读方式安装,但在这种情况下您会收到不同的错误消息。