Linux下创建和删除用户

遇到问题

在学习Linux基本命令操作过程中,在终端使用useradd命令可用来建立用户账号,用passwd设定账号的密码,可用userdel删除账号。

不考虑缓冲天数,群组,备注,登入目录等设置。具体步骤如下:

  • # useradd maxpross - 创建一个名字为maxpross的用户
  • # ls /home - 查看home目录下是否创建
  • # userdel maxpross - 删除用户
  • # useradd maxpross - 查看是否能重新创建用户

然而事实并不能如我们所想的那样。

useradd警告: 此目录已经存在。

思考问题

既然useradd是添加用户,userdel是删除目录,那么为什么不能按照我们的操作的预想创建成功呢,哪里有不对的地方呢?既然是已经存在 此目录,那是不是问题出现在没有删除干净的原因呢,我们来查找一下涉及到maxpross名字的文件有哪些:

# find / -name '*maxpross*'

结果如下:

那我们终于找到问题所在了,在/home目录和/var/spool/mail邮件池中存在着maxpross有关文件,userdel删除只是删除用户帐号,而没有删除相关文件,那么下次继续创建时候就会就会涉及到相关文件,系统就会提示,文件已经存在。

解决问题

既然问题找到了,我们就需要来解决问题。先前我们已经删除了用户账号,那我们就手动删除查找出来的路径下的有关文件后,再执行添加操作。

# rm -rf /var/spool/mail/maxpross /home/maxpross

# useradd maxpross

# ls /home

创建成功,圆满解决。

拓展问题

通过查找资料,我们知道userdel有一个参数-r:删除用户登入目录以及目录中所有文件,这下就很好解决用户的创建和删除的问题了!

# userdel -r maxpross

# useradd maxpross

大家发现更好的解决办法欢迎联系我一起交流!