Когда я пытаюсь удалить своего пользователя (из корневой оболочки), он говорит 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
вопрос.