Linux使用userdel命令删除/删除用户帐户

时间:2020-01-09 10:41:53  来源:igfitidea点击:

如何从服务器中删除用户访问权限?
如何在Linux操作系统(包括主目录)和正在运行的cron作业下删除用户帐户?
您需要在Linux操作系统下使用userdel命令从用户帐户中"删除用户帐户"和相关文件。

userdel命令必须在Linux上以root用户身份运行。

Linux删除用户命令语法

在Linux上,"删除用户帐户"的语法如下。

userdel userName
userdel [options] userName
userdel -r userName

userdel命令示例

让我们从本地Linux系统/服务器/工作站中删除名为Hyman的用户或者名为Hyman的帐户,执行:

# userdel Hyman

接下来,删除用户主目录,并在假脱机中将名为ashish的用户的-r选项传递给userdel,执行:

# userdel -r ashish

介绍如何在Linux中使用主目录删除用户帐户

上面的命令将删除所有文件以及主目录本身和用户邮件假脱机。
请注意,必须手动搜索和删除其他文件系统中的文件。
传递-f选项以强制删除文件,即使不是用户所有:

# userdel -r -f tom

要为用户删除任何SELinux用户映射,请通过-Z选项:

# userdel -Z -r -f jerry

其中:

  • -f:删除Linux用户帐户并强制删除文件
  • -r:删除Linux用户帐户,包括主目录和邮件后台处理程序
  • -Z:从Linux删除用户时,删除该用户的所有SELinux用户映射

关于/etc/login.defs文件的注释

默认值是从/etc/login.defs文件中提供的有关基于RHEL(Red Hat)的发行版的信息中获取的。
基于Debian和Ubuntu Linux的系统使用/etc/deluser.conf文件:

# /etc/deluser.conf: deluser configuration - Debian / Ubuntu Linux only.
 
# Remove home directory and mail spool when user is removed
REMOVE_HOME = 0
 
# Remove all files on the system owned by the user to be removed
REMOVE_ALL_FILES = 0
 
# Backup files before removing them. This options has only an effect if
# REMOVE_HOME or REMOVE_ALL_FILES is set.
BACKUP = 0
 
# target directory for the backup file
BACKUP_TO = "."
 
# delete a group even there are still users in this group
ONLY_IF_EMPTY = 0
 
# exclude these filesystem types when searching for files of a user to backup
EXCLUDE_FSTYPES = "(proc|sysfs|usbfs|devpts|tmpfs)"

从Linux删除用户帐户的完整示例

以下是从Linux服务器删除用户的推荐步骤。
首先,锁定用户帐户,执行:

# passwd -l Hyman

或者设置禁用用户帐户的日期(语法为usermod --expiredate YYYY-MM-DD userNameHere):

# usermod --expiredate 1 Hyman

如果用户尝试登录,他或者她将收到以下消息:

Your account has expired; please contact your system administrator
Authentication failure

接下来,将文件从/home/Hyman备份到/nas/backup

# tar -zcvf /nas/backup/account/deleted/v/Hyman.$uid.$now.tar.gz /home/Hyman/

请用实际的UID和日期/时间替换$uid,$now。
如果用户当前已登录,Tye userdel命令将不允许您删除帐户。
您必须杀死属于您要删除的帐户的所有正在运行的进程,执行:

# pgrep -u Hyman
# ps -fp $(pgrep -u Hyman)
# killall -KILL -u Hyman

在工作中删除,输入

# find /var/spool/at/ -name "[^.]*" -type f -user Hyman -delete

除去cron作业,执行:

# crontab -r -u Hyman

删除打印作业,执行:

# lprm Hyman

要查找用户Hyman拥有的所有文件,请执行:

# find / -user Hyman -print

您可以找到名为Hyman的用户所拥有的文件,并按以下方式更改其所有权:

# find / -user Hyman -exec chown newUserName:newGroupName {} \;

最后,删除名为Hyman的用户帐户,执行:

# userdel -r Hyman