Назад | Перейти на главную страницу

Не удалось удалить пользователя с машины Linux CentOS 6.3, что можно сделать?

Когда я пытаюсь удалить своего пользователя (из корневой оболочки), он говорит 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 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, pwunconv и pwck команды, чтобы снова синхронизировать ваши файлы passwd и shadow. Тогда попробуйте использовать свой userdel.

Кроме того, есть ли причина, по которой вы оставляете nis и nisplus определенными в вашем файле /etc/nsswitch.conf? Я видел, как ненужные службы имен вызывают отставание в различных функциях из-за того, что они выполняют поиск служб, которые не реализованы в вашей среде. Я бы также убрал все это, чтобы увидеть, заметите ли вы какие-либо улучшения в своем userdel вопрос.