这很尴尬,但我需要改正错误并寻求帮助,而不是进一步自掘坟墓。
在服务器上安装 Fail2Ban 时,我想知道权限是否是 F2B 无法正常启动的原因,因此我运行了:
chmod 755 -R ../
当我在 时/etc/fail2ban/
。
之后我立即重启了服务,但得到的响应是“未知 UID 1000...你是谁?”我仍然拥有服务器的 shell,并且应该能够以 root 身份执行任何 sh 脚本,这要归功于管理工具,假设它没有受到损害。
我不知道这有多糟糕,在犯下如此严重的错误后,我太害怕了,不敢去触碰它。
我觉得我刚才做的几乎相当于sudo rm -rf /.
“请你帮助我!”
答案1
有时,您的 Debian(或 Ubuntu)系统上的软件包需要重新安装以修复您可能造成的问题,或恢复到原始状态,为此您可以使用:
apt-get --reinstall install
它将重新安装所有软件包并使其恢复到原始状态。
作为能够使用系统的快速创可贴,为了正确修复它(重新安装 /etc 中的内容的所有软件包,如上所述),您可以执行以下操作:
sudo find /etc -type d -exec chmod 775 '{}' \;
sudo find /etc -type f -exec chmod 664 '{}' \;
使用这两行,您将在所有 /etc 目录中设置自由权限,所有者和组允许读/写,其他所有人允许读取。这两个 chmod 的原因是仅在目录上设置执行位。
即使如此,某些进程仍会抱怨或失败,包括 /etc 内的任何可执行文件,但您应该能够执行我上面概述的重新安装。
编辑:
根据您的评论,如果您不会丢失任何数据并且有重新安装服务器所需的时间 - 那么就这样做,这样可以节省您的时间和精力。
答案2
在另一台机器上启动 livecd 并比较文件模式。您可以ls -l
轻松地比较两个输出。然后更正它们。
您还可以使用它dpkg -V <package>
来验证包中的文件。