作为Linux系统管理员,你可能必须在一段时间后删除用户帐户,因为用户帐户可能会休眠很长时间,或者用户可能会因任何其它原因离开组织或公司。在Linux系统上删除用户帐户时,删除其主目录以便为新系统用户或其它服务释放存储设备上的空间也很重要。
在本文当中,小编主要介绍在Linux系统上删除用户帐户及其主目录的步骤。如果你不知道如何删除的话,那么不妨一起来看看。
使用主目录删除/删除用户帐户
出于演示目的,小编首先将使用adduser命令在系统上创建两个用户帐户,即用户tecmint和用户linuxsay,其主目录分别为/home/tecmint和/home/linusay:
adduser tecmint passwd tecmint adduser linuxsay passwd linuxsay
从上面的截图中,使用了adduser命令在Linux上创建用户帐户。当然,你还可以使用useradd命令,两者相同并且执行相同的工作。
现在进一步了解如何使用deluser(对于Debian及其衍生版本)和userdel(对于基于RedHat系统)命令在Linux中移除或删除用户帐户。
sudo deluser --remove-home username sudo userdel -r username
上述命令将删除用户的主目录及其帐户。
配置文件中用于deluser和userdel命令的指令决定了运行该命令时它将如何处理所有用户文件和目录。
该文件在Debian衍生产品(如Ubuntu、Kali和Mint)上为/etc/deluser.conf,对于RHEL/CNTOS/Fedora用户,你可以查看/etc/login.defs文件。
这些配置中的值是默认值,可以根据你的需要进行更改。
vi /etc/deluser.conf [Debian及其衍生版本上] vi /etc/login.defs [基于RedHat/CentOS系统上]
要删除具有主目录的用户,可以在Linux服务器计算机上遵循这些步骤使用高级方法。当用户登录到服务器时,他们使用服务并运行不同的进程。需要注意的是,只有当用户未登录到服务器时,才能有效地删除用户。
在Linux中锁定用户帐户
要在Linux中锁定用户帐户,可以使用passwd命令,后跟-l(或-lock)和用户名。锁定用户帐户可防止用户登录,同时仍保留该帐户及其关联文件。
sudo passwd -l username 或者 sudo passwd -lock username
要解锁帐户,可以再次使用带-u
选项的passwd命令:
sudo passwd -u username
在Linux中查找并终止用户正在运行的进程
可以使用ps命令查找并终止Linux中用户运行的进程,以查找与特定用户关联的进程,并使用kill命令终止它们。
查找用户进程
使用带有-u
标志的ps命令,后跟用户名来列出特定用户的进程:
ps -u username
然后,你可以借助以下命令以完整的格式列出用户名、PID、PPID(父进程ID)、使用的终端、进程状态和命令路径等方面的进程,如下所示:
ps -f --pid $(pgrep -u tecmint)
杀死用户进程
一旦找到用户的所有正在运行的进程,就可以使用killall命令来终止这些正在运行的进程,命令如下:
killall -9 -u tecmint
-9是SIGKILL信号的信号号码,或者使用-KILL代替-9 ,并且-u定义用户名。
注意:在RedHat/CentOS 7.x版本和Fedora 21+的最新版本中,将收到一条错误消息:
-bash: killall: command not found
要修复此类错误,需要安装psmisc软件包,命令如下:
yum install psmisc [RedHat/CentOS 7.x] dnf install psmisc [Fedora 21+版本]
删除前备份用户数据
要在Linux系统上删除用户帐户之前备份用户数据,可以按照以下命令操作:
sudo mkdir /backup sudo cp -r /home/username /backup
或者,可以创建用户数据的压缩存档以节省存储空间。这里小编使用tar命令创建用户主目录的备份,命令如下:
sudo tar -zcvf /backup/username_backup.tar.gz /backup/username
在Linux中删除用户文件
现在可以安全地删除用户及其主目录,要删除系统上的所有用户文件,请使用下面命令中的--remove-all-files
选项:
deluser --remove-home tecmint [Debian及其衍生系统] uuserdel --remove tecmint [基于RedHat/CentOS系统]
总结
以上就是从Linux系统中删除用户及其主目录有关的相关内容,相对来说比较简单易懂。如果大家不知道如何操作的话,可以参考上述教程进行设置,应该没有任何难度。