当我尝试删除我的用户(从root
shell)时,它说userdel:无法从/ etc / passwd中删除条目’itaig’
用户甚至没有显示在/ 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 itaig的输出:
http://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 ~]#