赞
踩
目录
Linux 中,用户保存在 /etc/passwd 中,用户密码保存在 /etc/shadow 中,用户组保存在 /etc/group 中。
useradd <username>
在添加 Linux 用户之前,可以先列出现有用户,来保证不添加有冲突的用户名:
cat /etc/passwd | cut -d : -f 1
示例:
- useradd testuser # 创建新用户 testuser
- useradd -d /home/mytest testuser # -d 参数可以自定义主目录。默认情况下将在/home路径中创建一个与用户名同名的家目录
- useradd -u 567 testuser # -u 参数可以指定新用户的用户ID(UID)。默认情况下用户ID从500开始,并在添加新用户后递增
- useradd -g 0 testuser # -g 参数可以指定新用户的用户组ID。默认情况下,将分配新的用户组ID,该ID从1000开始
- useradd -G group1,group2,group3 testuser # -G 参数可以将新用户添加到多个用户组
- useradd -M testuser # -M 参数将添加没有主目录的新用户
- useradd -e 2023-02-28 testuser # -e 参数可以设置新用户的账户过期日期
- chage -l testuser # 在添加了具有帐户过期日期的用户后,可以使用chage命令检查该日期
- useradd -e 023-02-28 -f 60 testuser # -f 参数可以设置新用户的密码过期时间。如果值设为-1,密码将永不过期
- useradd -c "18811372815" testuser # -c 参数可以设置新用户的注释信息,例如添加全名、电话号码等
passwd <username>
su <username>
su 是 switch user 的缩写,表示用户切换 。
userdel <username>
1. 检查登录
首先查看用户是否真正登录,以及他正在处理多少个会话。使用 who 命令列出活动会话。
2. 查看用户进程
使用 ps 命令可以列出用户正在运行的进程。
ps -u <username>
使用 top 命令可以看到正在运行的进程的更多信息。top 也具有 -U 选项,可以输出单个用户拥有的进程。注意这里 U 是大写的。
top -U <username>
3. 锁定账户
在终止进程前,先锁定账户。因为在终止进程时将注销用户。
加密的用户密码存储在 /etc/shadow 文件中。使用 awk 命令分析该文件中的字段并有选择地对其进行操作。使用 -F 选项来告诉 awk 该文件使用冒号 ”:“ 分隔字段。搜索其中带有 test 字段的行,并对匹配的行打印第一个和第二个字段,分别为账户名和加密的密码:
sudo awk -F: '/test/ {print $1,$2}' /etc/shadow
使用 passwd -l 命令锁定账户。
再次检查 /etc/shadow 文件:
加密密码的开头添加了感叹号,这样就可以阻止登录该账户。
4. 杀死进程
使用 pkill 命令查找并杀死进程。
sudo pkill -KILL -u <username>
这样用户 test 的会话没有了。接下来进行其余的清理工作。
5. 归档用户的主目录
使用 tar 命令归档用户的主目录。使用的选项有:
sudo tar cfjv test-20220328.tar.bz /home/test
使用 ls 命令检查归档文件是否已创建,使用 -l(长格式)和 -h(人类可读)选项。
已创建 558K 的文件。
6. 删除 cron 任务
cron 任务是在指定的时间或间隔触发的命令。可以使用 ls 检查是否为此用户帐户安排了任何 cron 作业。
sudo ls -lh /var/spool/cron/crontabs/test
如果有输出,则说明该用户有排队的 cron 任务,可以使用 crontab 命令将其删除。-r (删除)选项将删除任务,-u (用户)选项告诉 crontab 要删除的任务。
sudo crontab -r -u test
7. 删除打印任务
lprm 命令可以从打印队列中删除用户的打印任务。
lprm -U test
8. 删除用户账户
--remove 选项可以同时删除用户的主目录。
sudo userdel --remove test
如果是Debian发行版,则执行:
sudo deluser --remove-home test
用户账户 test 的所有痕迹均已删除。可以检查 /home/test/ 目录是否已删除:
ls /home
test 组也已删除,因为用户账户 test 是其中唯一的条目。 我们可以很容易地通过 grep 将 /etc/group 的内容进行检查:
sudo less /etc/group | grep test
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。