Linux 账号切换使用手册 本文档涵盖 Linux 系统中创建用户、切换账号、赋予 sudo 权限及 SSH 多用户登录的常用操作。 倾听风雨著 2026-07-30 更多教程请去网址:https://blog.qtfyu.top/ =========================================================================== 目 录 =========================================================================== 1. 创建新用户 2. 切换账号的常用方法 3. 查看当前用户信息 4. 退出当前用户 5. 常见问题 6. 快速参考表 =========================================================================== 1. 创建新用户 =========================================================================== 1.1 创建用户并设置密码 ---------------------------------------- # 创建用户(带家目录,指定 bash shell) useradd -m -s /bin/bash 用户名 # 设置密码(系统会提示输入两次) passwd 用户名 示例: useradd -m -s /bin/bash bot passwd bot # 输入密码: ******** # 再次输入密码: ******** 1.2 创建 sudo 权限用户(可选) ---------------------------------------- # 将用户加入 sudo 组 usermod -aG sudo 用户名 # 或编辑 sudoers 文件 visudo # 添加一行:用户名 ALL=(ALL:ALL) ALL =========================================================================== 2. 切换账号的常用方法 =========================================================================== 2.1 方法 1:su 命令(Switch User) ---------------------------------------- # 切换到指定用户(需要输入目标用户的密码) su - 用户名 # 示例:切换到 bot 用户 su - bot # 只切换用户身份,不切换环境变量 su 用户名 # 切换到 root 用户 su - # 或 su - root 参数说明: - 或 -l 完全切换,加载目标用户的环境变量(推荐) 不加 - 半切换,保留当前用户的环境变量 2.2 方法 2:sudo 命令(以其他用户身份执行) ---------------------------------------- # 以 root 身份执行命令 sudo 命令 # 以指定用户身份执行命令 sudo -u 用户名 命令 # 示例:以 bot 用户身份运行脚本 sudo -u bot /home/bot/script.sh # 切换到 root 用户的 shell sudo -i # 切换到指定用户的 shell sudo -u 用户名 -i 2.3 方法 3:ssh 远程登录(不同用户) ---------------------------------------- # 以指定用户登录远程服务器 ssh 用户名@服务器IP # 示例 ssh -p 22 bot@192.168.1.100 # 指定端口 ssh -p 端口号 用户名@服务器IP =========================================================================== 3. 查看当前用户信息 =========================================================================== # 查看当前登录用户 whoami # 查看当前用户详细信息 id # 查看当前登录的所有用户 who # 查看用户登录历史 last # 查看当前用户的环境变量 echo $USER echo $HOME echo $SHELL =========================================================================== 4. 退出当前用户 =========================================================================== # 退出当前用户,返回上一个用户 exit # 或按快捷键 Ctrl + D # 注销当前会话 logout =========================================================================== 5. 常见问题 =========================================================================== Q1:su 切换时提示 "Authentication failure" ---------------------------------------- 原因:密码错误或用户不存在 解决:确认用户名和密码正确,或检查用户是否存在:id 用户名 Q2:sudo 提示 "用户不在 sudoers 文件中" ---------------------------------------- 原因:当前用户没有 sudo 权限 解决:用 root 用户执行 usermod -aG sudo 用户名,然后重新登录 Q3:切换后环境变量不对 ---------------------------------------- 原因:使用了 su 而不是 su - 解决:使用 su - 用户名 进行完全切换 Q4:SSH 密码登录失败 ---------------------------------------- 检查 SSH 配置:cat /etc/ssh/sshd_config | grep PasswordAuthentication 确保值为 yes 重启 SSH 服务:sudo systemctl restart ssh 重要:Debian/Ubuntu 上 SSH 服务名是 ssh,不是 sshd。systemctl restart sshd 在某些系统上可能不生效,建议使用 systemctl restart ssh。 =========================================================================== 6. 快速参考表 =========================================================================== 创建用户 useradd -m -s /bin/bash 用户名 设置密码 passwd 用户名 完全切换到用户 su - 用户名 半切换到用户 su 用户名 以用户执行命令 sudo -u 用户名 命令 查看当前用户 whoami 退出当前用户 exit 或 Ctrl+D SSH 登录 ssh 用户名@IP =========================================================================== 文档版本:2026-07-30 ===========================================================================