命令行切换(终端操作)
su
命令(Switch User)
-
基础切换
su - 目标用户名
- 示例:切换到
john
账户su - john
- 输入目标用户密码后即可切换,环境变量同时更新。
- 注意:
su -
带横线会加载目标用户的环境配置;su
不带横线仅切换身份,不更新环境。
- 示例:切换到
-
切换到root
su - # 或 su - root
需输入root密码,适用于拥有root权限的账户。
sudo
命令(临时提权)
-
以其他用户执行命令
sudo -u 目标用户名 命令
- 示例:以
mysql
用户启动服务sudo -u mysql systemctl start mysql
- 示例:以
-
切换到目标用户
sudo -i -u 目标用户名
- 示例:切换到
webadmin
用户sudo -i -u webadmin
- 优势:无需知道目标用户密码,只需当前用户在
sudoers
组(更安全)。
- 示例:切换到
exit
或 logout
退回原账户
exit # 或按 Ctrl+D
- 逐级退出登录的会话,直至返回初始用户。
图形界面切换(GUI环境)
- GNOME/KDE 桌面
- 点击右上角用户图标 → 选择 “切换用户”(非注销)。
- 直接输入新账户名和密码登录,原用户会话保持后台运行。
- 锁屏界面切换
系统锁屏后(或点击”未列出”),输入其他用户名和密码登录。
安全实践与注意事项
- 避免滥用root
- 优先用
sudo
替代su root
,减少安全风险(操作会被日志记录)。
- 优先用
- 密码策略
定期更新密码,避免使用弱密码(尤其root账户)。
- 权限控制
- 通过
/etc/sudoers
文件限制sudo
权限(用visudo
编辑):# 允许dev组用户免密切换至deploy用户 %dev ALL=(deploy) NOPASSWD: /bin/su - deploy
- 通过
- 会话管理
- 离开时锁定屏幕:
Ctrl+Alt+L
(Ubuntu)或xdg-screensaver lock
。
- 离开时锁定屏幕:
常见问题解决
- “su: Authentication failure”
检查密码是否正确,或确认目标账户是否存在(grep 用户名 /etc/passwd
)。 - “用户不在sudoers文件中”**
用root执行usermod -aG sudo 用户名
添加权限(Debian/Ubuntu),或编辑/etc/sudoers
。
场景 | 推荐命令 | 安全等级 |
---|---|---|
临时提权执行命令 | sudo -u 用户 命令 |
|
完整切换到另一用户 | sudo -i -u 用户 |
|
需root权限维护 | sudo -i |
|
多用户桌面环境 | GUI切换 |
引用说明基于Linux官方文档(The Linux Documentation Project)及Ubuntu、Red Hat系统管理指南,遵循POSIX标准。
sudoers
配置参考自Linux man pages,安全建议符合CIS Linux安全基准。
通过规范账户切换操作,可显著提升系统安全性与管理效率,建议管理员定期审计 /var/log/auth.log
监控用户切换行为。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8269.html