解决Linux删除用户时进程占用,及新建账户提示主目录已存在、信箱文件已存在的问题

解决Linux删除用户时提示进程占用(currently used by process)

文章目录

  • 解决Linux删除用户时提示进程占用(currently used by process)
    • 运行环境:
    • 故障描述:
    • 问题原因:
    • 解决办法:
  • Linux新建一个相同用户名的用户时提示主目录已存在、信箱文件已存在(Creating mailbox file: 文件已存在)
    • 运行环境:
    • 故障描述:
    • 问题原因:
    • 解决办法:
  • 总结:

运行环境:

CENTOS 7

故障描述:

在新建一个账户以后,删除账户的时候出现进程占用的提醒,无法删除账户

[root@localhost lz2]# userdel lz2
userdel: user lz2 is currently used by process 3309

问题原因:

经过排查,出现这种情况的原因是因为新建账号lz2以后,在root用户下su切换到了lz2用户,然后lz2用户操作完之后又切回root账户,这种情况下lz2用户还是被3309进程占用着,所以没办法删除掉。

[root@localhost lz2]# exit
exit
[lz@localhost lz2]$ exit
exit
[lz2@localhost ~]$ exit
exit
[root@localhost home]# userdel lz2
[root@localhost home]#

解决办法:

把用户退出登陆后,就可以删除账户了。

Linux新建一个相同用户名的用户时提示主目录已存在、信箱文件已存在(Creating mailbox file: 文件已存在)

运行环境:

CENTOS 7

故障描述:

在删除用户重新新建一个跟之前用户名相同的用户时,会提示useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在

[root@localhost home]# useradd lz2
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在

问题原因:

在使用find命令查看时,发现有遗留的文件目录没有删除

[root@localhost lz]# find / -name lz2
/var/spool/mail/lz2 ----------------------------------------------------lz2的邮件目录
/home/lz2 ---------------------------------------------------------------lz2的宿主目录

从上面可以看出来, 在Linux下新建一个用户时,系统会默认给这个用户生成一个邮箱目录和宿主目录。而当我们使用userdel 不加任何参数删除用户时,并不会将这两个用户目录删除。

解决办法:

在删除一个用户时,在root用户下使用userdel -r 命令删除用户

[root@localhost lz]# userdel -r lz2
[root@localhost lz]# useradd lz2 --------没有报错,说明用户目录已全部删除

总结:

对于新手小白来说,熟悉使用各项命令是不出错的基本条件。
删除用户时,首先完全退出该用户
使用userdel -r删除不需要的用户账户

你可能感兴趣的:(LINUX)