问题引入:之前创建的用户默认在home目录中,过了段时间以为是一个目录就直接使用rm删除了,结果在创建一个和之前用户同名的用户时发现报错:useradd: user ‘cjs’ already exists(该用户已存在)。
1、问题
1、cjs是很早创建的用户,过了一段时间以为cjs是一个目录,然后错把rm当userdel删除了用户所在目录:
2、接着想继续创建一个名为cjs的用户时发现报错:useradd: user ‘cjs’ already exists(该用户已存在)
2、解决方法
1、先使用命令查看系统中所有用户:cat /etc/passwd | cut -f 1 -d :
发现cjs用户其实已存在于系统中,所以我们之前创建同名的新用户时才报错:useradd: user ‘cjs’ already exists(该用户已存在)。
2、既然该用户已存在于系统中,那么我们是否可以直接userdel删除用户后接着使用useradd创建新用户呢?
当我们userdel后,我们发现确实删除了cjs用户,但当我们useradd cjs创建用户后发现会报:Creating mailbox file: File exists。当我们往下查看系统所有的用户时发现,cjs用户已存在。
这是因为刚刚我们在useradd cjs时虽然会报:Creating mailbox file: File exists,但此时已经创建好cjs用户了,我们在来看home目录时,发现cjs又重新存在了。
此时我们只需要userdel -rf cjs 就可以彻底删除cjs用户了。
然后我们就可以新建和之前同名的cjs用户了,此时将不在报:Creating mailbox file: File exists。
3、总结
其实出现这些问题的原因是因为删除用户时没有彻底删除干净,系统中还存在与其相关的文件内容。所以我们删除用户时可以使用:userdel -rf 用户名,这样我们就可以一次彻底删除干净了,然后想继续创建同名的用户也直接可以创建。