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.