一、命令详解
1.命令说明
userdel
命令用于删除指定的用户及与该用户相关的文件,英文全称即“user delete”。
如果被删除用户有关的进程正在运行时,userdel 命令通常不会删除该用户。如果确实必须要删除,可以先终止用户进程,然后再执行userdel 命令进行删除。但是 userdel 命令也提供了一个面对该种情况的参数,即 -f (强制删除)选项。
2.语法格式
userdel [option] [user]
userdel [参数] [用户帐号]
3.选项描述
-f, --force force some actions that would fail otherwise
e.g. removal of user still logged in
or files, even if not owned by the user
#强制删除用户,即使用户当前已登录
-r, --remove remove home directory and mail spool
#删除用户的同时,删除与用户相关的所有文件。
-R, --root CHROOT_DIR directory to chroot into
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-Z, --selinux-user remove any SELinux user mapping for the user
#删除用户的任何SELinux用户映射
二、命令示例
案例1:删除用户 userdel
[root@centos7 home]#cat /etc/passwd | tail -3
zhangqi:x:988:982::/home/zhangqi:/bin/bash
zhangba:x:3335:3335::/home/zhangba:/bin/sh
zhangjiu:x:3336:3336::/home/zhangjiu:/bin/bash
[root@centos7 home]#ll -d /home/zhangba
drwx------. 3 zhangba zhangba 78 Mar 4 15:53 /home/zhangba
[root@centos7 home]#userdel zhangba
[root@centos7 home]#ll -d /home/zhangba 删除后,目录依然存在
drwx------. 3 3335 3335 78 Mar 4 15:53 /home/zhangba
用户删除,但是主目录依然存在。
案例2:删除用户和主目录 userdel -r
[root@centos7 home]#cat /etc/passwd | tail -3
zhangsansan:x:3013:1006::/home/zhangsansan:/bin/bash
zhangsi:x:3014:3017::/home/zhangsi:/bin/bash
zhangwu:x:3333:3333::/home/zhangwu:/bin/bash
[root@centos7 home]#userdel -r zhangwu
[root@centos7 home]#ll -d /home/zhangwu
ls: cannot access /home/zhangwu: No such file or directory
目录没有了
[root@centos7 home]#cat /etc/passwd | tail -3
zuzu:x:3012:3015::/home/zuzu:/bin/bash
zhangsansan:x:3013:1006::/home/zhangsansan:/bin/bash
zhangsi:x:3014:3017::/home/zhangsi:/bin/bash
用户也没有了
注意:不要轻易用
-r
选项;在删除用户的同时删除用户所有的文件和目录,删除前请注意备份。
/etc/passwd是极为重要的文件,不要动,删除用户使用命令。
案例3:强制删除用户 userdel -f
[root@centos7 home]#userdel -f zhangsi
[root@centos7 home]#ll -d /home/zhangsi
drwx------. 3 3014 3017 78 Mar 4 15:34 /home/zhangsi
userdel -f
选项来强制删除用户。甚至当用户已经登入 Linux 系统时此选项仍旧生效。
userdel -f
不会断开已有的 SSH 链接。即使用户已经不存在,但实际上仍是登录状态,并且是活跃用户。但是当用户退出后,将不能登录。