在RHEL 7中误覆盖/etc/passwd后如何重建root用户?
重建拥有完整权限的root用户
操作步骤
1. 确保处于root权限环境
如果当前还能以root身份操作,直接继续;如果已退出登录,需进入单用户模式修复:
- 重启系统,在GRUB启动菜单选中对应内核,按
e进入编辑模式 - 找到以
linux开头的行,在末尾添加init=/bin/bash - 按
Ctrl+X启动,进入root权限的单用户shell - 若根分区为只读挂载,先执行:
mount -o remount,rw /
2. 手动修复/etc/passwd文件
root用户的核心条目必须写入/etc/passwd,执行编辑:
vi /etc/passwd
添加或替换为root的标准条目:
root:x:0:0:root:/root:/bin/bash
字段说明:用户名:密码占位符:UID(0):GID(0):描述:主目录:默认shell
保存退出vi:按Esc,输入:wq回车。
3. 验证root组配置
检查/etc/group中是否存在root组条目,若缺失则添加:
echo "root:x:0:" >> /etc/group
4. 修复root密码(若需要)
如果后续root密码验证失败,重新设置密码:
passwd root
按提示输入两次新密码即可。
5. 验证修复效果
执行以下命令确认root用户恢复正常:
id root
正常输出应为:uid=0(root) gid=0(root) groups=0(root)
测试切换root:
su root
不再提示"user root does not exist"即修复成功。
6. 修复普通用户(可选)
之前重新添加的普通用户可能存在数据不一致,可重新创建:
- 删除错误用户:
userdel -r 用户名 - 重新创建:
useradd -m -s /bin/bash 用户名 - 设置密码:
passwd 用户名
内容的提问来源于stack exchange,提问作者Adil M
相关产品推荐
相关产品推荐

