无法从 Linux CentOS 6.3 机器中删除用户,该怎么办?

无法从 Linux CentOS 6.3 机器中删除用户,该怎么办?

当我尝试删除我的用户(从 root shell)时,它说userdel: cannot remove entry 'itaig' from /etc/passwd 该用户甚至没有显示在/etc/passwd

[root@ab2c1 ~]# su - itaig
su: warning: cannot change directory to /home/itaig: No such file or directory
-bash-4.1$ exit
logout
[root@ab2c1 ~]# mkdir /home/itaig
[root@ab2c1 ~]# chown itaig.itaig /home/itaig/
[root@ab2c1 ~]# grep itaig /etc/passwd
[root@ab2c1 ~]# grep itaig /etc/shadow
[root@ab2c1 ~]# userdel -rf itaig
userdel: cannot remove entry 'itaig' from /etc/passwd
[root@ab2c1 ~]#

我在其他服务器上也遇到了完全相同的问题,但我找不到它们之间的共同点:

[root@amad ~]# userdel itaig
userdel: cannot remove entry 'itaig' from /etc/passwd
[root@amad ~]# useradd itaig
useradd: user 'itaig' already exists
[root@amad ~]# 

为什么我的用户没有显示在 /etc/passwd 中,但仍存在于系统中?我检查过/etc/nsswitch.conf,没有发现问题... 可以做些什么来解决这个问题?

strace userdel itaig编辑:可以在这里找到 输出:http://pastebin.com/FFkcQ3fj

输出如下strace useradd itaighttp://pastebin.com/twRQ7ps0

第二次编辑:似乎如果我手动添加我的用户/etc/shadow/etc/group然后我可以使用命令删除该用户userdel itaig,但即便如此,我也无法重新创建该用户,因为我收到一条错误消息,提示该用户已存在。如能得到任何帮助,我将不胜感激!

[root@ab2c1 ~]# userdel itaig
[root@ab2c1 ~]# useradd itaig
useradd: user 'itaig' already exists
[root@ab2c1 ~]# userdel itaig
userdel: cannot remove entry 'itaig' from /etc/passwd
[root@ab2c1 ~]# grep itaig /etc/passwd
[root@ab2c1 ~]# grep itaig /etc/group
[root@ab2c1 ~]# grep itaig /etc/shadow
[root@ab2c1 ~]# id itaig
uid=509(itaig) gid=510(itaig) groups=510(itaig)
[root@ab2c1 ~]# 

内容/etc/nsswitch.conf

passwd:     files   nis
shadow:     files   nis
group:      files   nis
#hosts:     db files nisplus nis dns
hosts:      files nis dns
bootparams: nisplus [NOTFOUND=return] files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files
netgroup:   nisplus
publickey:  nisplus
automount:  files nisplus
aliases:    files nisplus

请问一下命令的信息从哪里来id的:

[root@ab2c1 ~]# grep itaig /etc/passwd
[root@ab2c1 ~]# grep itaig /etc/shadow
[root@ab2c1 ~]# grep itaig /etc/group
[root@ab2c1 ~]# id itaig
uid=509(itaig) gid=510(itaig) groups=510(itaig)
[root@ab2c1 ~]#

答案1

阅读并尝试pwconvpwunconvpwck命令以使您的 passwd 和 shadow 文件再次同步。然后尝试使用您的userdel

另外,您在 /etc/nsswitch.conf 文件中保留 nis 和 nisplus 定义的原因是什么?我见过不必要的命名服务导致各种功能滞后,因为它们正在查找您环境中未实现的服务。我还会清除所有这些服务,看看您的userdel问题是否有所改善。

相关内容