Centos8中恢复根目录为默认权限

本文介绍如何在CentOS 8上恢复因误用chmod命令导致的文件权限问题,特别是SSH服务的相关配置文件。通过进入救援模式并执行特定命令来恢复默认权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导读本文中介绍如何从意外运行# chmod -R 777 /命令,在Centos8操作系统上恢复默认权限。

本文中我们将故意在一个测试服务器上运行chmod 777命令,并尝试通过运行两个命令进行恢复。就是如下两条命令:

# rpm --setugids -a
# rpm --setperms -a

当再测试机上面执行下面命令之后,所有文件权限都会变成777。

[root@localhost ~]# chmod -R 777 /

列出根目录下面的内容:

[root@localhost ~]# ls -al /

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
下面是SSH相关的重要文件,需要有正确的权限和所有权。但是,由于运行chmod 777,以下所有文件都具有错误的权限。

[root@localhost ~]# ll /etc/ssh/
total 588
-rwxrwxrwx. 1 root root     563386 May 11  2019 moduli
-rwxrwxrwx. 1 root root       1727 May 11  2019 ssh_config
drwxrwxrwx. 2 root root         28 Dec 29  2019 ssh_config.d
-rwxrwxrwx. 1 root root       4444 May 11  2019 sshd_config
-rwxrwxrwx. 1 root ssh_keys    480 Dec 29  2019 ssh_host_ecdsa_key
-rwxrwxrwx. 1 root root        162 Dec 29  2019 ssh_host_ecdsa_key.pub
-rwxrwxrwx. 1 root ssh_keys    387 Dec 29  2019 ssh_host_ed25519_key
-rwxrwxrwx. 1 root root         82 Dec 29  2019 ssh_host_ed25519_key.pub
-rwxrwxrwx. 1 root ssh_keys   1799 Dec 29  2019 ssh_host_rsa_key
-rwxrwxrwx. 1 root root        382 Dec 29  2019 ssh_host_rsa_key.pub

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限

带有chmod 777权限的SSH

下面尝试通过SSH远程登录服务器。由于主机密钥文件权限都变成了777了,所以登录会被拒绝。

下面再终端中ssh登录本机出现下面问题:
Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
下面使用Xshell登录服务器,同样不能登录成功:

[C:\~]$ ssh root@192.168.43.131


Connecting to 192.168.43.131:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Connection closing...Socket close.

Connection closed by foreign host.

Disconnected from remote host(192.168.43.131:22) at 10:28:06.

Type `help' to learn how to use Xshell prompt.

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限

恢复权限

需要恢复权限,我们需要加载Centos8的系统镜像,开机启动光盘镜像:

在VMware Workstation中,加载光盘,并开机器用。开机按F2,进入BIOS,切换到Boot选项卡。将CD-ROM Drive移动到Hard Drive上面。按F10保存并重启。
Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
选择Troubleshooting,然后选择进入救援模式。
Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
当进入下面界面时,选择1,直接进入shell界面。
Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
使用chroot命令将/mnt/sysroot切换为根目录:

sh-4.4#  chroot /mnt/sysroot

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
使用以下两个命令运行,以恢复所有文件,目录和配置的权限。运行此命令时,它将引发权限被拒绝错误,并且无法访问错误。只是忽略错误。

# rpm --setugids -a
# rpm --setperms -a

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
参数说明:

  • --setugids - 设置RPM包文件的用户/组所有权。
  • --setperms - 设置RPM包文件的权限。
  • -a - 适用于所有已安装的RPM软件包。

完成操作之后,退出,并重启:

# exit
# reboot

查看权限、SSH连接服务器测试

下面登录系统之后,看一下根目录的权限是否恢复正常:

# ls -l /

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
运行ssh登录,发现不能登录。使用netstat -tlunp发现ssh端口没有监听中,使用systemctl status sshd发现服务没有启动,启动sshd服务时发现不能启动,下面查找原因:

发现密钥文件的权限还是777,没有还原:
Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
下面设置密钥文件权限:

# chmod 644 /etc/ssh/ssh_config
# chmod 600 /etc/ssh/sshd_config
# chmod 640 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
# chmod 644 /etc/ssh/ssh_host_rsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ed25519_key.pub

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
下面再次启动sshd试一下:

# systemctl enable sshd --now
# netstat -tlunp

Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限
可以看到启动成功了。ssh远程登录试一下,看到登录成功了。
Centos8中恢复根目录为默认权限Centos8中恢复根目录为默认权限

总结

就这样,我们已经成功还原了已安装的RPM软件包的权限并恢复了服务器。切勿在任何文件系统或配置上使用chmod 777。Linux就该这么学

### 如何在 CentOS 8 中更改 root 用户密码 对于 CentOS 8,由于安全机制的变化,在救援模式或紧急目标下修改根用户密码的操作流程有所不同。当忘记 root 密码时,可以按照如下方法重置。 #### 进入 GRUB 菜单编辑启动参数 重启计算机并进入 GRUB 启动菜单。选择要编辑的内核版本,并按 `e` 键来编辑启动选项。找到以 `linux16` 或者 `linuxefi` 开头的那一行命令,在这一行最后追加 `rd.break` 参数[^1]。 ```bash rd.break ``` 这会使得系统在初始化ramdisk阶段暂停下来而不是继续正常引导至完整的操作系统环境。 #### 修改文件系统权限 一旦到达这个特殊的中断点之后,将会获得一个 shell 提示符。此时挂载的根文件系统是以只读方式打开的,所以需要先将其转换成可写状态: ```bash mount -o remount,rw /sysroot chroot /sysroot ``` 上述两条指令分别用于重新挂载 `/sysroot` 文件夹为读写模式以及切换到 chroot 环境中去执行后续操作。 #### 更改 root 密码 成功改变工作目录后就可以直接运行 passwd 工具来进行实际的密码更新动作了: ```bash passwd ``` 输入新设置的管理员账户密码两次完成设定过程。完成后退出 chroot 和当前shell session : ```bash exit exit ``` #### 完成重启 现在应该能够看到提示信息表明正在恢复默认的启动配置并且自动重启机器。等待一段时间直到服务器完全开机恢复正常运作即可验证新的登录凭证是否生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值