You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Fedora14服务器root被重命名为qroot,无法切换用户如何恢复?

恢复Fedora 14的Root用户(解决UID0用户被改为qroot的问题)

看起来你遇到了一个挺棘手的账户篡改问题——UID 0的超级用户被重命名为qroot,还引发了认证和权限混乱。别担心,我们可以通过单用户模式绕过正常登录限制,一步步把系统恢复回来:

步骤1:进入单用户模式

因为现在正常登录root失败,su qroot密码也不匹配,我们需要从GRUB启动菜单进入单用户模式获取权限:

  • 启动服务器,当GRUB菜单出现时(如果没看到,按住Shift键触发),选中你的Fedora 14内核条目,按e进入编辑模式。
  • 找到以kernel开头的行,移动到行尾,添加single(注意前面加空格)。
  • Ctrl+Xb启动系统,这样会直接进入单用户模式,无需密码即可获得超级权限。

步骤2:挂载根文件系统为读写模式

默认下单用户模式的根文件系统是只读状态,我们需要先切换为读写才能修改配置文件:

mount -o remount,rw /

步骤3:修复/etc/passwd文件

现在你的passwd文件里没有root用户,只有qroot占据了UID 0的位置。我们直接修改这条条目恢复root:

  1. 用vi编辑passwd文件:
vi /etc/passwd
  1. 找到类似这样的行:
qroot:x:0:0:root:/root:/bin/bash

把开头的qroot改成root,修改后应为:

root:x:0:0:root:/root:/bin/bash
  1. 保存退出vi(按Esc,输入:wq回车)。

  2. 修复passwd文件的归属权限(当前属于qroot,需改回root):

chown root:root /etc/passwd
chmod 0644 /etc/passwd

步骤4:修复/etc/shadow文件

目前shadow文件仅qroot可读,我们需要把它的权限和归属恢复正常:

chown root:root /etc/shadow
chmod 0600 /etc/shadow

因为你提到系统采用纯/etc/passwd认证,不过Fedora 14默认会使用shadow机制。如果确实要只用passwd认证,可以把passwd中root的第二个字段(当前是x)替换为加密后的密码,或者直接重置root密码:

passwd root

按照提示输入新密码即可,这个操作会自动匹配你的认证模式更新对应文件。

步骤5:检查并修复/etc/group文件

顺便确认root组的条目没有被篡改,确保/etc/group里存在这一行:

root:x:0:

如果条目异常,用vi编辑修正后,设置正确权限:

chown root:root /etc/group
chmod 0644 /etc/group

步骤6:重启系统恢复正常模式

完成所有修改后,执行以下命令重启系统:

exec /sbin/init

或者强制重启:

reboot -f

重启后,你就能用root账户正常登录了——之前归属qroot的文件会自动恢复为root所有,因为文件权限是基于UID而非用户名识别的。

内容的提问来源于stack exchange,提问作者Aravindh Sathish

火山引擎 最新活动