Não é possível excluir a conta do usuário

4

Em um terminal:

/home$ ls
abuabdullah  alzaabi  hussain  u942

Então tentei excluir a conta u942 usando a linha de comando:

/home$ deluser u942
/usr/sbin/deluser: Only root may remove a user or group from the system.

Então eu tentei usar o sudo

/home$ sudo deluser u942
/usr/sbin/deluser: The user 'u942' does not exist.

Como posso resolver este problema?

    
por hussain alzaabi 08.05.2017 / 10:27

2 respostas

8

Para o usuário root / sudo, é possível apenas criar pastas em /home que não estejam associadas a nenhuma conta de usuário. É por isso que ls /home não é um bom comando para procurar usuários.

Para listar todos os usuários que têm sua pasta pessoal abaixo de "/ home", você pode executar:

getent passwd | grep "/home" | cut -d: -f1

Listar todos os usuários : getent passwd | cut -d: -f1

Verifique se o usuário u942 existe: getent passwd | grep u942 . Se você não obtiver nenhuma saída, esse usuário não existe.

Se a saída estiver vazia, você pode excluir essa pasta (você pode precisar do sudo) rm -Rf /home/u942 . Mas verifique novamente o conteúdo da pasta antes de excluí-la.

    
por RoVo 08.05.2017 / 10:40
3

Como você deve saber, é possível criar um diretório inicial diferente do "username". Por exemplo, posso ter um usuário chamado "john", cujo diretório inicial é: /home/jack .

Se você já conhece o nome de usuário, pode executar:

echo ~username

Ele imprimiria esse diretório inicial específico do usuário. Você também pode executar:

ls -ld /home/u942

ou

stat -c %U /home/u942

para ver qual usuário possui esse diretório inicial e, em seguida, exclua esse usuário.

Além disso, há uma chance de que o usuário já tenha sido excluído, mas seu diretório inicial não.

Para descobrir, você pode fazer algo como:

id -un 'stat -c %U /home/u942'

Se não retornar nada, significa que o proprietário não existe no seu sistema. basta remover esse diretório Se você acredita que não existe arquivo importante .

    
por Ravexina 08.05.2017 / 17:54