Whoami: não é possível encontrar o nome do usuário id 0

6

Quando executo o whoami , ele diz:

whoami: cannot find name for user id 0

Meu arquivo /etc/passwd é assim:

root::0:0:root:/root:/bin/bash
    
por gabemai 31.01.2013 / 03:01

5 respostas

7

Observe que há um x

ausente

Este é o meu conteúdo no Linux Mint com o kernel 3.8.0-35-generic

root:x:0:0:root:/root:/bin/zsh

O x significa que as informações reais da senha estão sendo armazenadas em um arquivo de senhas shadow separado, tipicamente /etc/shadow

link

    
por 11.02.2014 / 02:27
5

Eu recomendaria verificar as permissões em /etc/passwd e /etc/group . Se eles não estiverem configurados para 644 ( -rw-r--r-- ), execute:

chmod 644 /etc/passwd; chmod 644 /etc/group

    
por 31.01.2013 / 22:49
3

apenas diga minha experiência

0. problema

no dispositivo quebrado:

cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

e

whoami
whoami: cannot find name for user ID 0

no dispositivo normal:

whoami
root

1. pesquisa

tente encontrar o motivo:

strace whoami 2>&1 | grep -E '/etc|/lib'
...
open("/lib/arm-linux-gnueabi/libnss_compat.so.2", O_RDONLY) = 3
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabi/libnsl.so.1", O_RDONLY) = 3
open("/etc/ld.so.cache", O_RDONLY)      = 3
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabi/libnss_nis.so.2", O_RDONLY) = 3
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabi/libnss_files.so.2", O_RDONLY) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3

fount ele precisa desses * .so:

/lib/arm-linux-gnueabi/libnss_compat.so.2
/lib/arm-linux-gnueabi/libnsl.so.1
/lib/arm-linux-gnueabi/libnss_nis.so.2
/lib/arm-linux-gnueabi/libnss_files.so.2

// todos vêm de libc6 package, eu trabalho com o dispositivo arm linux.

2. resolução

copio-os para o dispositivo quebrado e, em seguida, whoami funcionou corretamente

e o prompt do bash I have no name!@localhost corrigido.

    
por 01.11.2017 / 18:28
1

Verifique se todas as linhas em /etc/passwd têm exatamente sete campos.

    
por 11.02.2014 / 09:56
0

Eu sei que chegou na hora, mas o motivo poderia ser coreutils compilado sem suporte da ACL. Verifique e reconstrua o pacote, se necessário

    
por 04.01.2016 / 21:45

Tags