如何在Linux中删除用户对于很多Linux初学者可以说是一件比较陌生的事情。事实上要想在Linux中删除用户我们只需通过userdel命令就可以了。那么到底userdel的含义、具体的格式语法和使用方法是怎样的呢?为此在本文中编程学习网笔者就为大家一一介绍。
◎userdel命令的含义
所谓 userdel 命令其实是一个底层用于删除用户的工具。在Debian上我们通常会使用 deluser 命令。使用 userdel 命令会查询系统账户文件,比如 /etc/password和 /etc/group。它会删除所有和用户名相关的条目。需要注意的一点是在我们删除它之前用户名必须存在。
◎userdel的使用方法
由于 userdel 命令会修改系统账户文件,所以我们需要通过root特权来运行它,否则我们会遇到一个“只有root权限才能执行这项操作”的报错信息或者相类似的信息。在我们获得特权后则可以通过输入 userdel 命令从控制台删除用户。下面笔者给大家举一个默认使用 userdel 的例子让大家参考参考:
● $ sudo user del pasadena或者# userdel pasadena
如上图所示我们不能在没有root权限的前提下进行删除用户 pasadena 的操作,而当我们获得权限后系统就不会给出错误信息。
◎完全删除用户家目录
通常情况下如果我们使用不带选项的 userdel 命令的话只会删除用户,而用户的家目录将仍会在/home目录下。
如上图所示当我们进入/home目录时我们仍旧可以看到ID 1002拥有 pasadena 文件夹。我们知道已创建的用户通常会有一个与用户名相同的组名。上图中的1002是 pasadena 用户名的UID和 pasadena 组名的GID。因此为了达到在删除用户时完全删除家目录的目的,其实我们可以通过使用 -r 选项来解决,这个选项同样会删除用户的邮件池,具体如下图所示:
◎强制删除一个用户
Linux的 userdel 命令还提供了 -f 选项来强制删除用户,甚至当用户已经登入linux系统时此选项依旧生效。具体大家可以观察下图:
在上图中我们观察到系统显示用户 pasadena 已经登录了系统。它被标记的进程6218是SSHD进程。而当我们用“userdel -f pasadena”只会显示已经登录的要被删除的用户信息,但事实上命令本身已经成功。如果我们使用cat命令来查看 /etc/passwd 的内容,我们会看不到到用户 pasadena 的存在了,虽然说他的家目录还存在但是所有者只能显示为数字ID。
另外一点我们必须要了解的是带 -f 选项的 userdel 不会断开该用户已有的SSH链接。简而言之就是用户已经不存在但实际上显示仍是登录状态且是活跃用户,但是当用户登出后就不可再登录,原因在于用户已经被删除。总的来说这个选项使用起来有些危险,毕竟它会使系统进入不一致的状态。
以上就是利用 userdel 命令删除用户的方法介绍。
本次的轻松利用 userdel 命令删除用户的讲解到此就暂告一段落,如果以后有什么相关的内容继续进行补充或者修改的话,笔者会在此继续进行相关的内容的补充或者修改的工作,同时也欢迎大家对本次的讲解提出自己的建议和补充。最后笔者希望本次的讲解对大家学习Linux和Linux认证能够起到一定的帮助作用!