1.命令作用
删除用户帐号及相关文件(delete a user account and related files)
2.命令语法
Usage: userdel [OPTION] LOGIN
3.参数详解
OPTION:
- -f, --force,强制删除用户,比如用户其他地方登录情况下,直接删除会失败
- -h, --help,显示此帮助信息并退出
- -r, --remove,删除用户的同时删除主目录和邮件文件
- -R, --root CHROOT_DIR,指定chroot目录执行命令(参考chroot命令用法)
- -Z, --selinux-user,删除该用户的任何SELinux用户映射(参考useradd该参数说明)
4.常用用例
4.1.强制删除用户
[root@node1 ~]# useradd user1
[root@node1 ~]# userdel user1 # user1在其他地方有人登录,删除用户会失败
userdel: user user1 is currently used by process 16978
[root@node1 ~]# getent passwd user1 # 可以查看用户还在
user1:x:1001:1001::/home/user1:/bin/bash
[root@node1 ~]# userdel -f user1 # -f 强制删除用户,可成功删除用户
userdel: user user1 is currently used by process 16978
[root@node1 ~]# getent passwd user1 # 无信息,则用户已经删除
[root@node1 ~]#
4.2.删除用户同时删除其家目录和邮件文件
# 删除用户后,会遗留家目录和邮件文件
[root@node1 ~]# ll /home/user1/
total 0
[root@node1 ~]# ll /var/spool/mail/user1
-rw-rw----. 1 1001 mail 0 Jun 9 17:49 /var/spool/mail/user1
[root@node1 ~]#
# 使用-r参数级联删除,对应的家目录和邮件文件也会被删除
[root@node1 ~]# useradd user2
[root@node1 ~]# userdel -r user2
[root@node1 ~]# ll /home/user2
ls: cannot access /home/user2: No such file or directory
[root@node1 ~]# ll /var/spool/mail/user2
ls: cannot access /var/spool/mail/user2: No such file or directory
[root@node1 ~]#
4.3.-Z参数
[root@node1 ~]# semanage login -l
Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
system_u system_u s0-s0:c0.c1023 *
user1 unconfined_u s0-s0:c0.c1023 *
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# userdel -Z user1 # 删除用户并清理SELinux映射
[root@node1 ~]# semanage login -l
Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
system_u system_u s0-s0:c0.c1023 *
[root@node1 ~]#