如何在 Linux 中删除主目录的用户帐户

您所在的位置:网站首页 linux删除用户和主目录 如何在 Linux 中删除主目录的用户帐户

如何在 Linux 中删除主目录的用户帐户

2024-07-09 09:36| 来源: 网络整理| 查看: 265

如何在 Linux 中删除主目录的用户帐户

在本教程中,我将引导您完成在 Linux 系统上删除用户帐户及其主目录的步骤。

要了解如何在 Linux 系统上创建用户帐户并管理它们,请阅读以下链接中的以下文章:

在 Linux 中管理用户帐户的 15 个“useradd”命令示例在 Linux 中更改/修改用户帐户名称的 15 个“usermod”命令示例如何在 Linux 中管理用户和组的文件权限

作为 Linux 中的系统管理员,当用户帐户可能长时间处于休眠状态,或者用户可能离开组织或公司或任何其他原因时,您可能必须删除用户帐户。

在 Linux 系统上删除用户帐户时,删除其主目录以便为新系统用户或其他服务释放存储设备上的空间也很重要。

删除/移除用户帐户及其主目录

1. 为了演示目的,首先我将在我的系统上创建两个用户帐户,即用户 howtoing 和用户 linuxsay 及其主目录/home/howtoing 和 /home/linusay 分别使用 adduser 命令。

adduser tecmint passwd tecmint adduser linuxsay passwd linuxsay

从上面的屏幕截图中,我使用了 adduser 命令在 Linux 上创建用户帐户。您还可以使用useradd命令,两者相同并且执行相同的工作。

2. 现在让我们进一步了解如何使用 deluser (对于 Debian 及其衍生版本)和 userdel (对于基于 RedHat/CentOS 的系统)命令。

deluser 和 userdel 命令的配置文件中的指令决定了运行该命令时它将如何处理所有用户文件和目录。

让我们看一下 deluser 命令的配置文件,在 Debian 衍生品(例如 Ubuntu、Kali、Mint 和 RHEL/CentOS/Fedora 上)为 /etc/deluser.conf用户,可以查看/etc/login.defs文件。

这些配置中的值是默认值,可以根据您的需要进行更改。

vi /etc/deluser.conf [On Debian and its derivatives] vi /etc/login.defs [On RedHat/CentOS based systems]

3. 要删除具有主目录的用户,您可以在 Linux 服务器计算机上按照以下步骤使用高级方法。当用户登录到服务器时,他们使用服务并运行不同的进程。需要注意的是,只有在用户未登录服务器时才能有效删除用户。

在 Linux 中锁定用户帐户

首先锁定用户帐户密码,以便用户无法访问系统。这将阻止用户在系统上运行进程。

包含 -lock 选项的 passwd 命令可以帮助您实现此目的:

# passwd --lock tecmint Locking password for user tecmint. passwd: Success

查找并终止用户所有正在运行的进程

接下来找出用户帐户的所有正在运行的进程,并通过使用以下命令确定用户拥有的进程的PID(进程ID)来杀死它们:

# pgrep -u tecmint 1947 1959 2091 2094 2095 2168 2175 2179 2183 2188 2190 2202 2207 2212 2214

然后,您可以借助以下命令以完整格式列出用户名、PID、PPID(父进程 ID)、使用的终端、进程状态、命令路径等方面的进程,如下所示:

# ps -f --pid $(pgrep -u tecmint) UID PID PPID C STIME TTY STAT TIME CMD tecmint 1947 1 0 10:49 ? SLl 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login tecmint 1959 1280 0 10:49 ? Ssl 0:00 mate-session tecmint 2091 1959 0 10:49 ? Ss 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session tecmint 2094 1 0 10:49 ? S 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/im-launch mate-session tecmint 2095 1 0 10:49 ? Ss 0:00 //bin/dbus-daemon --fork --print-pid 6 --print-address 9 --session tecmint 2168 1 0 10:49 ? Sl 0:00 /usr/lib/dconf/dconf-service tecmint 2175 1959 0 10:49 ? Sl 0:02 /usr/bin/mate-settings-daemon tecmint 2179 1959 0 10:49 ? Sl 0:47 marco tecmint 2183 1 0 10:49 ? Sl 0:00 /usr/lib/gvfs/gvfsd tecmint 2188 1959 0 10:49 ? Sl 0:00 mate-panel tecmint 2190 1 0 10:49 ? Sl 0:00 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes tecmint 2202 1 0 10:49 ? S-u 定义用户名。

注意:在 RedHat/CentOS 7.x 版本和 Fedora 21+ 的最新版本中,您将收到如下错误消息:

-bash: killall: command not found

要修复此类错误,您需要安装 psmisc 软件包,如下所示:

yum install psmisc [On RedHat/CentOS 7.x] dnf install psmisc [On Fedora 21+ versions] 删除前备份用户数据

接下来,您可以备份用户文件,这可以是可选的,但建议将来在需要查看用户帐户详细信息和文件时使用。

我已使用 tar 实用程序创建用户主目录的备份,如下所示:

tar jcvf /user-backups/tecmint-home-directory-backup.tar.bz2 /home/tecmint

删除/删除用户帐户和文件

现在您可以安全地删除用户及其主目录,要删除系统上的所有用户文件,请使用以下命令中的 --remove-all-files 选项:

deluser --remove-home tecmint [On Debian and its derivatives] userdel --remove tecmint [On RedHat/CentOS based systems]

概括

这与从 Linux 系统中删除用户及其主目录有关。我相信该指南很容易遵循,但您可以通过发表评论来表达疑虑或添加更多想法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3