J'utilisais ssh et essayais de mettre à niveau un système d'Ubuntu 10.04 à 12.04. La connexion avait un problème, j'ai donc dû me connecter à nouveau pour terminer la mise à niveau. Après avoir couru
Sudo dpkg --configure -a
cela était nécessaire, il semble que le système ne me reconnaisse plus comme un sudoer. Si je lance une commande en tant que Sudo, je vais obtenir
Sudo: unknown uid xxxxx: who are you?
(xxxxx est pour l'id réel bien sûr) et l'exécution similaire whoami
retournera
whoami: cannot find name for user ID xxxxx
De même, lorsque j'essaie de ssh
name__, je reçois une autorisation refusée (malgré le fait que je suis toujours connecté à l'ordinateur sur une session différente).
Cela signifie que l'UID actuel que vous utilisez n'est pas présent dans /etc/passwd
. Ce n'est pas un problème grave si votre administration système sait ce qu'il fait. Vous pouvez le vérifier en utilisant:
strace -f -F -o whoami whoami
Ensuite, vous avez un fichier appelé whoami
, analysez-le:
grep etc whoami
[...]
5029 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
J'avais connecté mon ordinateur à un domaine Active Directory et winbind
s'était écrasé.
J'ai corrigé cela avec systemctl restart winbind
.