web-dev-qa-db-fra.com

Comment puis-je changer de propriétaire en root?

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 Sudoname__, alors je me suis changé le propriétaire du répertoire /usr.

$ Sudo chown -R sammy /usr

Oups!

Étant donné que Sudoré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 rootname __?

5
Sammy Black

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.

5
Wolfer

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é.

4
Braiam