如果我们想要在 Ubuntu 或者其他 Linux 发行版的系统中删除一个现有用户,可以在终端中使用 userdel 命令。
这是一个很简单的命令,只有几个选项。其语法如下:
userdel [options] username
这里需要注意,使用此命令需要是 root 用户或者具有 sudo 权限的用户。
在命令行中删除用户
要删除用户,首先需要知道待删用户的用户名。或者也可以先列出当前系统中的所有用户,以获取要删除用户的用户名。
获取用户名后,即可使用 userdel 命令来删除该用户,如下所示:
sudo userdel user_name
默认情况下,上述命令不会删除用户的主目录,当然可以手动删除其主目录,但 userdel 命令提供了一个更简单的选项。
下面我们来看一下如何在删除用户的同时删除其主目录。
删除用户及其主目录
我们可以使用 -r 选项来删除用户及其主目录和假脱机邮件(mail spool,存储用户电子邮件账户的邮件头和邮件正文的文件)。
sudo userdel -r user_name
注意,在规模比较大的用户组织中,不建议如此删除用户,尤其是用户文件,因为有可能会用到这些文件。如果有用户离开了组织,可以使用 usermod 命令锁定用户,而不是删除用户及其文件。
建议:不要在 userdel 命令中使用 -f 选项
在查看 man 手册中关于 userdel 命令的时候,会发现有个 -f 选项,但是(包括 man 手册中)不建议使用这个选项。
此选项会强制删除用户,即使该用户仍处于登录状态;它还会强制删除用户的主目录以及假脱机邮件,即使其他用户有可能在使用这个主目录,或者这个假脱机邮件不属于该用户,也会将该用户强制删除掉。
此外,在文件 /etc/login.defs 中如果配置项 USERGROUPS_ENAB 为 yes,那么与被删除用户同名的组也会被删除掉,即使这个组是另一个用户的默认所属组。
所以,这个选项使用起来必须要谨慎。
其他
在使用 userdel 的时候,一次只能删除一个用户,而不能同时删除多个用户。