在服务器上工作,操作系统是SLES 11.4 x86-64。目录下有很多文件和文件夹/tmp
。作为 root,我无法删除/tmp
.如rm -f sort5BtEdh
或rm /tmp/sort5BtEdh
它返回rm: cannot remove /tmp/sort5BtEdh : Operation not permitted.
什么会导致这种情况,我该如何做到这一点,以便 root 用户至少可以删除 /tmp 下的文件和文件夹?
此外,大部分内容归 root.root 所有。其他文件和/或文件夹归 gdm.gdm 以及我的用户帐户 ron.users 所有
即使我su
通过 ssh 登录或坐在控制台上,作为文件的所有者,我也会得到相同的结果,在 /tmp 下的任何内容上都不允许进行操作。
答案1
第一种可能性那是不可变标志已打开。您可以使用命令更改此行为chattr -i filename
以允许对文件进行更改。
但也许你正在运行一个文件系统有错误;这可能会使您的文件系统完全或某些文件变为只读。RAM 的问题也可以模拟这个问题。当您重新启动服务器并运行 fsck 时,此问题可以得到修复,但有时,当重新启动操作尝试在重新启动期间将 RAM 中的信息同步到磁盘时,服务器可能无法启动,并且数据可能会丢失。如果 dmesg 显示您正在运行内存或文件系统错误,我建议您在重新启动之前进行数据备份(如果可能的话)。有时,由于硬件故障,内核会给出错误的内存地址,并且当系统重新启动时,一些错误的数据可能会进入磁盘。疯狂的内核比恐慌的内核更糟糕,并且可能会做出一些意想不到的行为,例如写入 MBR 或重要文件;这种情况很少见,但在糟糕的硬件中是可能的,特别是当你使用糟糕的 RAM 或热处理器运行时。在巴西,我们有大量的劣质硬件可能会导致这种情况。 笔记:如果问题出在 RAM 内存上,不要运行 FSCK——它会做出疯狂的事情。
更新:因为你说你只在 tmp 方面遇到麻烦,所以 tmp 有可能被挂载在另一个分区(可能有错误?)或外部(samba、nfs?),所以在这种情况下,我们需要有关你挂载的更多信息分区。如果是这种情况,请发布mount
不带任何参数的命令结果。