8.4 用户管理命令

8.4 用户管理命令
8.4.1 useradd 添加新用户
1)基本语法
useradd 用户名 (功能:添加新用户)
useradd -g 组名 用户名 (功能:添加新用户到某个组)
2)示例
useradd tony
image

useradd -d /home/dave david (添加用户david 主文件夹名称为dave)
image
8.4.2 passwd 设置用户密码
1)基本语法
passwd 用户名 (功能:设置用户密码)
2)示例
image
8.4.3 id 查看用户是否存在
1)基本语法
id 用户名
2)示例
image
8.4.4 cat /etc/passwd 查看创建了那些用户
1)示例
cat /etc/passwd
image

8.4.5 su 切换用户
su:switch user 切换用户
1)基本语法
su 用户名称 (功能:切换用户,只能或者用户的执行权限,不能获得环境变量)
su - 用户名称 (功能:切换用户并获得该用户的执行权限和环境变量)
2)示例
image
通过 su 切换用户会产生嵌套的用户环境,但不会创建新的登录会话。whoami 显示当前用户,who am i 显示最初登录用户,who 显示所有登录会话
image

8.4.6 userdel 删除用户
1)基本语法
userdel 用户名 (功能:删除用户但保存用户主目录)
userdel -r 用户名 (功能:删除用户和用户主目录,都删除)
2)示例
userdel tony(删除用户tony 但保留tony主目录)
image
userdel -r tony (删除用户tony 同时删除tony主目录)

image
8.4.7 who 查看登录用户信息
who 命令用于查看当前登录系统的用户信息。它会读取 /var/run/utmp 文件,列出每个登录会话的终端、时间、来源等。
1)
2)示例
who
各列含义:
用户名:登录账号
终端:ttyN(本地虚拟控制台)或 pts/N(伪终端,如 SSH、终端模拟器)
登录时间:日期和时间
来源:远程登录时的 IP 或主机名(本地登录无此项)
image
3)典型使用场景

快速查看谁在系统上:`who`
查看自己最初登录的身份(当 su 切换后):`who am i`
检查系统上次启动时间:`who -b`
排查空闲终端:`who -u` 找出空闲时间过长的会话(配合 pkill -t pts/N 踢出)

8.4.8 sudo 设置普通用户具有root权限
1)添加tony 用户,并设置密码
useradd tony
passwd tony
2)修改配置文件
vi /etc/sudoers
修改下面行,在root下面添加行,如下所示

root    ALL=(ALL)       ALL
tony    ALL=(ALL)       ALL

或者配置成采用sudo 命令时,不需要输入密码

root    ALL=(ALL)       ALL
tony    ALL=(ALL)       NOPASSWD: ALL

修改完毕后,可以使用tony用户登录,然后使用命令sudo,即可或者root权限执行操作。

8.4.9 usermod 修改用户
1)基本语法
usermod -g 用户组 用户名
2)选项说明
-g 修改用户的初始登录组,给定的组必须存在。默认组id是1
3)示例
将用户加入用户组
image
usermod -aG wheel david (将david用户添加至wheel组)

-a:追加(append),避免覆盖用户原有的其他附加组。
-G:指定要添加的附加组列表。
wheel:目标组名。
david:用户名。

image

posted @ 2026-05-04 16:53  Justme1  阅读(4)  评论(0)    收藏  举报