chmod 问题 - 发出了错误的命令

chmod 问题 - 发出了错误的命令

来自此链接的帖子(由 回答@dmourati): 我如何创建用户并授予其只读权限?

在 CentOS 盒子上

尝试创建只读帐户时,命令

chmod -R o+rx /

在root用户下执行。

在命令被快速暂停之前,出现了一堆“操作不允许”的错误

^C

自此事件发生以来,该盒子仍在运行(应用程序仍在运行),但我们无法再通过 PuTTY 或 WinSCP 进行 SSH。我认为 SSH 服务已停止或损坏。我是 Linux 新手,但看起来有人试图更改顶级目录中的 root 用户的权限。

我们原本打算在现场重新启动该盒子,但担心如果这样做,盒子根本无法重新启动(应用程序现在仍能正常工作)。

是否还有其他方法可以逆转所采取的行动?感谢您提供的任何指导。非常感谢。

答案1

ssh 无法工作,因为您运行的命令使 ssh 主机私钥和配置文件可供所有人读取。在这种情况下,ssh 拒绝允许连接,因为存在安全性隐患。

是的,这需要作为安全事件来处理。不仅仅是因为 ssh,还因为该chmod命令使系统上的所有操作在停止之前都可以读取。

正确的权限看起来像这样(来自实时 CentOS 7 系统):

[root@farshire ~]# ls -al /etc/ssh
total 624
drwxr-xr-x.  3 root root       4096 Apr 10 16:21 .
drwxr-xr-x. 98 root root       8192 Jul  1 05:51 ..
-rw-r--r--.  1 root root     577388 Apr 10 15:32 moduli
-rw-r--r--.  1 root root       1716 Apr 10 15:32 ssh_config
drwxr-xr-x.  2 root root         28 Apr 10 16:20 ssh_config.d
-rw-------.  1 root root       4748 Apr 10 16:21 sshd_config
-rw-------.  1 root root       3907 Apr 11  2018 sshd_config.20043.2018-12-02@04:15:14~
-rw-------.  1 root root       1159 Dec  2  2018 sshd_config.5202.2019-04-13@19:12:50~
-rw-r-----.  1 root ssh_keys    480 Apr 10 16:21 ssh_host_ecdsa_key
-rw-r--r--.  1 root root        162 Apr 10 16:21 ssh_host_ecdsa_key.pub
-rw-r-----.  1 root ssh_keys    387 Dec  2  2018 ssh_host_ed25519_key
-rw-r--r--.  1 root root         82 Dec  2  2018 ssh_host_ed25519_key.pub
-rw-r-----.  1 root ssh_keys   1679 Dec  2  2018 ssh_host_rsa_key
-rw-r--r--.  1 root root        382 Dec  2  2018 ssh_host_rsa_key.pub

修复此处的权限应该允许 sshd 重新开始工作,但为了增加安全性,您应该删除所有主机密钥并重新启动 sshd 以重新生成它们。登录此框的每个人都需要收到主机密钥更改的通知。

然后,您可以着手恢复系统的其余部分,但正如评论者指出的那样,您很可能必须删除并重新安装操作系统。

答案2

我从未尝试过,也不会建议任何人这样做,但我认为你更改了 /dev /sys /proc 或 /run 中一些重要文件的权限。更专业的人士可能能够准确回答你的系统崩溃的原因。

如果您尝试实现只读文件系统,则只需将磁盘安装为只读即可。只需搜索“只读根文件系统”即可找到很多指南

这是我为 Debian 找到的一个: https://wiki.debian.org/ReadonlyRoot

相关内容