无法在 Linux 上删除具有 444 权限的目录

无法在 Linux 上删除具有 444 权限的目录

有人做了类似的事情chmod 444 *,现在有一些目录我无法删除......

ls -al显示:

4.0K drwxrwxrwx 6 root root 4.0K Apr  7 10:06 .
4.0K drwxr-xr-x 4 root root 4.0K Apr 14 19:51 ..
4.0K dr--r--r-- 4 root root 4.0K Feb 11 08:42 beta
4.0K dr--r--r-- 2 root root 4.0K Apr  2 23:39 download

# rm beta/ -rf
rm: cannot remove directory `beta//xxx': Permission denied
rm: cannot remove `beta//yyy.xml': Permission denied

我做了我所知道的所有事情,例如chmod +x或 cd 进入目录来删除文件,但失败了。

编辑:我以 root 身份登录。我试过了chmod +x beta

# ls -al
total 24
drwxrwxrwx 6 root root 4096 Apr 14 22:20 .
drwxr-xr-x 4 root root 4096 Apr 14 19:51 ..
dr--r--r-- 4 root root 4096 Feb 11 08:42 beta
dr--r--r-- 2 root root 4096 Apr  2 23:39 download
# chmod +x beta
chmod: changing permissions of `beta': Operation not permitted

答案1

由于您的提示是#,我假设您以root身份登录。

问题出在你的命令行上。rm 手册页的语法是

rm [OPTION]... FILE...

所以尝试

rm -rf beta/ 

答案2

您必须将目录的模式改回 755 或其他模式,以便它们可执行。执行位允许目录像目录一样运行,并允许您进入。当您运行 rm -fr beta 时,它所做的第一件事就是进入 beta 目录,如果它无法进入该目录,它将立即失败。但是,如果您是 root 用户,这应该不会失败。提示符中的 # 表示您是 root 用户,因此可能是其他原因。

相关内容