麒麟os系统级管理需提权:一、启用root用户并设密码;二、配置sudo免密执行;三、临时获取root shell;四、启用root远程ssh登录;五、用systemd-run以root运行单条命令。

如果您在麒麟OS中需要执行系统级管理操作,但当前账户缺乏足够权限,则必须启用root用户或获取临时超级用户权限。以下是启用root权限的多种方法:
一、启用root用户并设置密码
麒麟OS默认禁用root账户登录,需手动启用并设定密码,以支持图形界面或SSH直接登录root账户。
1、打开终端,使用当前具有sudo权限的管理员账户登录。
2、执行命令:sudo passwd root。
3、按提示连续两次输入新root密码(密码不显示,需盲输)。
4、执行命令:sudo usermod -s /bin/bash root,确保root shell为bash。
5、如需允许root通过图形界面登录,编辑文件:sudo nano /etc/pam.d/gdm-autologin 与 /etc/pam.d/gdm-password,注释掉包含“auth [success=done] pam_succeed_if.so user != root quiet”的行(在行首加#)。
二、配置sudo免密执行特权命令
该方法不启用root登录,而是扩展当前管理员账户的sudo权限,避免每次输入密码,适用于日常运维场景。
1、在终端中运行:sudo visudo。
2、在文件末尾新增一行:%wheel ALL=(ALL) NOPASSWD: ALL(若系统无wheel组,可改用%sudo或具体用户名,如adminuser ALL=(ALL) NOPASSWD: ALL)。
3、保存退出(在nano中按Ctrl+O→Enter→Ctrl+X;在vi/vim中按Esc,输入:wq后回车)。
4、将当前用户加入对应组:sudo usermod -aG wheel adminuser(将adminuser替换为实际用户名)。
三、临时获取root shell环境
该方式不修改系统账户状态,仅在当前终端会话中启动一个具有完整root权限的交互式shell,退出后权限自动失效,安全性较高。
1、打开终端,输入:sudo -i 或 sudo su -。
2、输入当前用户的密码(非root密码)。
3、提示符变为 # 即表示已进入root shell。
4、执行所需管理命令,完成后键入 exit 或按 Ctrl+D 返回普通用户环境。
四、启用root远程SSH登录
当需通过SSH远程管理麒麟OS服务器时,需显式允许root用户通过SSH认证登录,同时确保SSH服务配置安全。
1、编辑SSH配置文件:sudo nano /etc/ssh/sshd_config。
2、查找 PermitRootLogin 行,将其值改为:yes 或更安全的 without-password(仅允许密钥登录)。
3、确认 PasswordAuthentication 设置为 yes(若使用密码)或 no(若仅用密钥)。
4、保存文件后重启SSH服务:sudo systemctl restart sshd。
5、确保root账户已按第一种方法设置密码或配置了SSH公钥(位于 /root/.ssh/authorized_keys)。
五、通过systemd-run以root身份运行单条命令
该方法无需切换用户或修改系统配置,适合脚本化、自动化任务中临时提权执行特定指令,最小化权限暴露面。
1、在终端中直接运行:systemd-run --scope --user sudo command-to-run(适用于用户级session)。
2、更常用且可靠的方式是:sudo systemd-run --scope --slice=system.slice command-to-run。
3、例如重启网络服务:sudo systemd-run --scope --slice=system.slice systemctl restart NetworkManager。
4、命令执行完毕后立即释放root上下文,不遗留交互式shell。











