Centos6

無法從 Linux CentOS 6.3 機器上刪除使用者,怎麼辦?

  • March 13, 2016

當我嘗試(從根 shell)刪除我的使用者時,它說userdel: cannot remove entry 'itaig' from /etc/passwd The user is even not displayed on /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 ~]#

繼續閱讀並嘗試使用pwconv,pwunconvpwck命令來讓您的 passwd 和 shadow 文件再次同步。然後嘗試使用您的userdel.

此外,您是否有理由將 nis 和 nisplus 定義在 /etc/nsswitch.conf 文件中?我已經看到不必要的命名服務會導致各種功能滯後,因為它們正在執行對您的環境中未實現的服務的查找。我也會清除所有這些,看看你是否看到你的userdel問題有任何改善。

引用自:https://serverfault.com/questions/523708