删除/ root中的所有文件和目录(RHEL 6.8)

犯了一个错误,并清除所有的根目录和文件。 我有一个根会话打开仍然创build:

# ls -la total 36 dr-xr-x---. 2 root root 4096 Nov 24 11:09 . dr-xr-xr-x. 22 root root 4096 Nov 16 14:23 .. -rw------- 1 root root 12035 Nov 24 11:53 .bash_history -rw-r--r-- 1 root root 18 Nov 24 11:08 .bash_logout -rw-r--r-- 1 root root 184 Nov 24 11:06 .bash_profile -rw-r--r-- 1 root root 481 Nov 24 11:07 .bashrc -rw-r--r-- 1 root root 101 Nov 24 11:09 .cshrc 

但是,当我尝试在另一个腻子会话上从另一个用户login到“su – ”时,出现了分段错误。 什么可能导致这个?

尝试用home dir创build空白用户,并将他的hlme中的所有内容复制到/ root。 检查dir和文件的权限和所有权两次。

很多系统在/root没有重要的文件。

如果使用sudo来执行pipe理任务,那么/root/.bash_history永远不会被创build,并且目录列表中的其他文件很可能始终保持静态。

因为这样的擦除/root是对Linux系统的破坏的无害的结束。

删除/root不会阻止使用susudologin。 它确实阻止以root身份使用ssh密钥进行身份validation。 但是这种情况下的错误信息会有所不同。

所以任何segmentation fault错误信息不是由丢失的文件引起的。 但它可以由损坏的文件引起。 但是,由于列表中的文件是文本文件而不是二进制文件,因此这些文件中的损坏不太可能触发分段错误。

由于.bashrc是由您打开的shell执行的,因为它可以执行任意代码,所以理论上可以将代码放在那里触发分段错误并重新注销。 但这不是偶然发生的事情。

另一个可能的解释是,在login过程中使用了一些代码,这些代码缺lesserror handling,并通过尝试使用从库函数获取的NULL指针来引起段错误,以指示缺less的文件。 如果您发现这种情况,您应该针对程序段错误提交错误报告,然后重新创build该文件以缓解该问题。

/root中重新创build文件可以通过重新安装默认安装在/root下的文件包来完成,也可以从/etc/skel复制,否则新创build的用户将从其中获取初始文件。

你可能有SELinux执行模式。 您将需要重新启动到单个用户或甚至可能从救援磁盘,并恢复文件和/根目录的SELinux上下文。

在Google上很容易find上述步骤。

或者,从救援磁盘启动后,您可以编辑文件/ etc / selinux / config(请确保首先安装根分区!),以完全禁用SELinux,然后一旦重新启动,就不应再收到segfault你的分配。