Alors, j'ai fait une chose stupide ...
J'étais en train d'installer un logiciel (Java SE 7, si vous devez savoir) à partir d'une archive, et j'en ai eu marre d'utiliser Sudo
name__, alors je me suis changé le propriétaire du répertoire /usr
.
$ Sudo chown -R sammy /usr
Oups!
Étant donné que Sudo
réside dans /usr/bin/
, il a également changé de propriétaire. Maintenant, je ne peux plus l'utiliser. Ai-je été accidentellement pris dans un Sudo-Catch 22? Je ne peux pas utiliser apt-get install
ou un nombre quelconque d'autres fonctionnalités essentielles de mon environnement Shell.
$ Sudo
sudo: must be setuid root
Existe-t-il un moyen de changer le propriétaire de ce répertoire (et de ses sous-répertoires également) pour qu'il redevienne root
name __?
Redémarrez la machine, démarrez la récupération (vous devriez être root sans avoir à saisir de mot de passe). Passez à chown -R
. Je pense que ça devrait marcher. Rapport sur comment ça se passe.
Mec, vous l'avez vraiment fait, tous les /usr
ont des binaires presque essentiels, mais réparons d'abord votre Sudo
:
En tant que root dans la console de récupération, vous devez remonter le système de fichiers en lecture/écriture en premier:
chown root:root /usr/bin/Sudo
chmod u+s /usr/bin/Sudo
Puis redémarrez et essayez de vous connecter, si vous obtenez plus d'erreurs "Must be suid", répétez le processus en utilisant Sudo à partir du tty:
Sudo chmod u+s /path/to/the/binary/you/screwed
Soyez prudent la prochaine fois et essayez d'utiliser -R
--recursive
avec des gants de bébé.