Não é possível excluir um usuário de uma máquina Linux CentOS 6.3, o que pode ser feito?

6

Quando eu tento excluir meu usuário (de um shell de root) ele diz userdel: cannot remove entry 'itaig' from /etc/passwd O usuário nem é exibido em /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 ~]#

Eu tenho exatamente o mesmo problema em outros servidores, mas não consigo encontrar um ponto em comum entre eles:

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

Por que meu usuário não é exibido em / etc / passwd, mas ainda existe no sistema? Eu verifiquei /etc/nsswitch.conf e não encontrei nenhum problema lá ... O que pode ser feito para corrigir esse problema?

Editar: A saída de strace userdel itaig pode ser encontrada aqui: link

E a saída de strace useradd itaig : link

Segunda edição: parece que, se eu adicionar manualmente meu usuário a /etc/shadow e /etc/group , poderei excluir o usuário usando o comando userdel itaig , mas, mesmo assim, não poderei recriar o usuário usuário como eu recebo um erro que o usuário já existe. Qualquer ajuda seria apreciada!

[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 ~]# 

Conteúdo de /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

Gostaria de saber de onde vem a informação do comando 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 ~]#
    
por Itai Ganot 16.07.2013 / 15:20

1 resposta

0

Leia e experimente os comandos pwconv , pwunconv e pwck para sincronizar seus arquivos passwd e shadow novamente. Em seguida, tente usar seu userdel .

Além disso, existe uma razão pela qual você está deixando o nis e o nisplus definidos em seu arquivo /etc/nsswitch.conf? Eu vi serviços de nomenclatura desnecessários causar atraso em várias funcionalidades devido ao fato de que eles estão realizando pesquisas para serviços que não são implementados em seu ambiente. Eu também limparia todos para ver se você vê alguma melhoria no seu problema de userdel .

    
por 23.07.2013 / 05:55