linux多个用户怎么切换
linux多个用户怎么切换详细介绍
在 Linux 系统中,切换用户是日常管理的基础操作。以下是从基础到进阶的完整指南,涵盖命令行与图形界面的操作方法、安全注意事项及特殊场景处理:
一、命令行切换用户
1.
su 命令:直接切换用户身份
- 语法:
su [选项] [用户名]- 示例:
- 切换到 root 用户:
su - root(-表示同时切换环境变量) - 切换到普通用户:
su test(需输入目标用户密码)
- 切换到 root 用户:
- 示例:
- 退出当前用户:输入
exit或按Ctrl+D返回原用户 - 关键参数:
-l/--login:切换用户并加载其完整环境(等同于su -)-c "命令":执行指定命令后返回原用户(如su -c "ls /root")
2.
sudo 命令:临时提升权限
- 语法:
sudo [选项] 命令- 示例:
- 以 root 身份执行单条命令:
sudo apt update(需输入当前用户密码) - 以其他用户身份执行命令:
sudo -u devesh ls /home/devesh
- 以 root 身份执行单条命令:
- 进阶用法:
- 执行多条命令:
sudo -- bash -c "pwd; hostname; whoami" - 进入 root 交互式 Shell:
sudo -i(等同于su - root)
- 执行多条命令:
- 示例:
二、图形界面切换用户
1. 字符界面与图形界面切换
- 切换到字符界面:按
Ctrl+Alt+F2~F6进入不同的虚拟终端 - 返回图形界面:按
Ctrl+Alt+F1或Alt+F7(VMware 中需加Shift)
2. 桌面环境用户切换
- GNOME/KDE:
- 点击右上角用户图标 → 选择 “切换用户”
- 输入目标用户密码(若启用自动登录则无需输入)
- 注销当前用户:点击用户图标 → “注销” 或
logout命令
三、安全与权限管理
1.
su 与
sudo 的核心区别
| 特性 | su |
sudo |
|
|---|---|---|---|
| 权限范围 | 完全切换用户身份 | 仅执行指定命令 | |
| 密码要求 | 需要目标用户密码 | 需要当前用户密码 | |
| 安全性 | 风险高(需共享 root 密码) | 风险低(权限可控) | |
| 日志记录 | 记录到 /var/log/secure |
记录到 /var/log/auth.log |
2. 权限配置最佳实践
- sudo 配置文件:
- 编辑:
sudo visudo(使用专用工具避免语法错误) - 示例:
- 允许用户
tom无密码执行apt命令:tom ALL=(ALL) NOPASSWD: /usr/bin/apt - 限制用户执行特定命令:
user1 ALL=(root) !/usr/bin/passwd root
- 允许用户
- 编辑:
- su 安全增强:
- 仅允许 wheel 组成员使用
su:修改/etc/pam.d/su添加auth required pam_wheel.so use_uid
- 仅允许 wheel 组成员使用
四、特殊场景处理
1. 忘记密码的解决方案
- 单用户模式重置密码:
- 重启系统,在 GRUB 菜单选择内核 → 按
e编辑 - 在
linux行末尾添加single或init=/bin/bash - 按
Ctrl+X启动 → 直接进入 root Shell → 执行passwd root
- 重启系统,在 GRUB 菜单选择内核 → 按
2. Ubuntu 特殊配置
- 默认禁用 root 账户:
- 启用 root:
sudo passwd root(设置密码后可通过su root切换) - 禁用 root:
sudo passwd -l root(锁定账户)
- 启用 root:
3. 无密码执行 sudo 命令
- 配置方法:bash
visudousername ALL NOPASSWD: /path/to/command
- 示例:允许用户
deploy无密码重启服务:deploy ALL=(root) NOPASSWD: /usr/sbin/service
- 示例:允许用户
五、高级技巧与工具
1. 环境变量管理
- 保留当前环境:
su -m root(不重置环境变量) - 临时提升权限:
sudo -E(保留当前环境变量)
2. 日志审计
- 查看切换记录:bash
/var/log/secure/var/log/auth.log
- 示例:
grep "su" /var/log/secure过滤 su 操作
- 示例:
3. 发行版差异
- CentOS/RHEL:默认允许 root 直接登录,可通过
sshd_config禁用 - Fedora:默认使用
cockpit图形化管理用户切换
六、安全注意事项
- 避免长期使用 root:日常操作建议使用普通用户 +
sudo - 定期审查日志:检查
/var/log/secure和/var/log/auth.log异常登录 - 限制 sudo 权限:仅开放必要命令(如
visudo中使用绝对路径) - 使用强密码:通过
pam_pwquality模块强制密码复杂度
通过以上方法,你可以灵活管理多用户环境,平衡效率与安全性。对于生产环境,建议结合 sudo 的细粒度权限控制和 PAM 认证模块,实现最小权限原则。