掌握linux用户管理命令可高效控制权限,useradd创建用户并设主目录、shell等属性,usermod修改用户信息,userdel删除用户及目录,id、whoami等查看用户状态,groupadd/mod/del管理组,su切换用户,sudo授权执行,合理使用参数确保操作准确。

Linux用户管理是系统运维中的基础内容,掌握相关命令能帮助你高效控制系统的访问权限和资源使用。以下是一些常用且关键的用户管理命令及其详细说明。
创建用户:useradd
useradd 用于创建新用户账户。最基本的用法如下:
useradd username
这会在系统中添加一个名为 username 的用户,但不会设置密码,也无法登录。通常需要配合 passwd 命令设置密码:
passwd username
实际使用中常带选项来完善配置:
- -m:创建用户主目录(如 /home/username)
- -s:指定用户的默认shell,例如 /bin/bash
- -c:添加用户描述信息(如全名)
- -g:指定用户所属的主组
完整示例:
useradd -m -s /bin/bash -c “Zhang San” -g users zhangsan
修改用户属性:usermod
已存在的用户可通过 usermod 修改其属性。
- -l:更改用户名(login name)
- -d:修改主目录路径(常与 -m 配合移动旧目录)
- -G:添加附加组(注意是大写G)
- -a:与 -G 合用时,保留原有附加组
- -s:更改默认shell
例如将用户 zhangsan 加入 sudo 组:
usermod -aG sudo zhangsan
删除用户:userdel
userdel 用于删除用户账户。
userdel username
若要同时删除用户的主目录和邮件 spool,使用 -r 选项:
userdel -r username
注意:删除用户不会自动清除其在其他位置的文件(如共享目录),需手动检查。
查看用户信息
多个命令可用于查看用户状态:
- id username:显示用户的UID、GID及所属组
- whoami:显示当前登录的用户名
- finger username:查看用户详细信息(部分系统需安装 finger 软件包)
- grep username /etc/passwd:查看用户基本账户信息
/etc/passwd 文件存储了所有用户的基本信息,每行格式为:
用户名:密码占位符:UID:GID:描述:主目录:默认shell
管理用户组:groupadd、groupmod、groupdel
用户组用于批量管理权限。
- groupadd groupname:创建新组
- groupmod -n newname oldname:重命名组
- groupdel groupname:删除组(不能删除有用户的主组)
添加用户到组后,可通过 id 命令验证是否生效。
切换与查看当前用户
su 命令用于切换用户身份:
su – username
加“-”表示切换为该用户并加载其环境变量。不加“-”则仅切换身份,保留原环境。
sudo 允许授权用户以其他身份(通常是root)执行命令,需在 /etc/sudoers 中配置。
基本上就这些。掌握这些命令足以应对大多数日常用户管理任务。关键是理解每个参数的作用,并在操作前确认影响范围。


