J'ai exécuté accidentellement la commande suivante
sudo chown [username] -hR /
Maintenant sudo su
obtenir une erreur :
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Comment résoudre ce problème ?
J'ai exécuté accidentellement la commande suivante
sudo chown [username] -hR /
Maintenant sudo su
obtenir une erreur :
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Comment résoudre ce problème ?
Comme vous pourrez le lire sur cette réponse sur SO ce problème est no aussi difficile que les gens le font. Vous pouvez obtenir le sudo
La commande fonctionne à nouveau sans réinstallation en suivant ces quelques étapes simples :
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
Cela fait l'affaire et est beaucoup plus rapide et moins douloureux que l'"option nucléaire" recommandée dans d'autres réponses.
Si votre mot de passe root n'est pas défini, vous pouvez démarrer en Mode de récupération pour le régler.
Notez que cela résoudra l'erreur titulaire /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
mais si, comme l'OP, vous avez fait plus que foutre en l'air les permissions de l'ordinateur. /usr/bin/sudo
une option plus "nucléaire" pourrait en fait être plus judicieuse.
Sauvegardez vos données et réinstallez.
Cela semble probablement extrême, mais ce n'est pas seulement sudo
. Vous avez détruit la structure de permission de votre système de fichiers entier. Certaines des autres réponses peuvent être sudo
mais ignorer l'ensemble du problème, c'est s'exposer à un désastre ultérieur.
Vous pouvez essayer de mettre en miroir les propriétaires d'une autre installation mais il y a des cas ( /var/
par exemple) qui dépendent fortement de ce que vous avez réellement installé. Si vous voulez avoir une idée de l'ampleur du problème, J'ai déjà eu l'occasion d'aider quelqu'un à résoudre ce genre de problème. . Le correctif est manuel, long et pourrait facilement laisser votre système non sécurisé ou cassé.
Fouiller dans ce désordre va prendre beaucoup plus de temps qu'une installation propre.
Il y a eu quelques visites en voiture de personnes qui ne comprennent pas la gravité de la situation. Pour eux, cela ressemble à un gros tas de travaux inutiles, le genre de choses qu'un plombier ou un mécanicien malhonnête dit pour vous soutirer un travail plus important.
Si vous avez seulement changé les permissions sur /usr/bin/sudo
par tous les moyens, réparez ça. Mais cette question porte sur un changement total du système. Tous les fichiers (sauf ceux qui sont réservés à l'exécution) appartiennent maintenant à l'utilisateur. Tout ce que l'utilisateur exécute (par exemple les navigateurs, exploits de navigateur ) pourrait alors écraser les fichiers système, vous espionner, extraire des données. Cela doit être corrigé. Comme indiqué ci-dessus, c'est difficile. Le moyen le plus simple est une réinstallation.
Alors s'il vous plaît, ne soyez pas paresseux à ce sujet. Les permissions du système de fichiers vous aident à rester en sécurité, réparez-les.
Passez en mode de récupération en continuant d'appuyer sur Esc pendant le démarrage du système.
sélectionnez l'option root dans la longue liste que vous pouvez voir après être entré dans le mode de récupération (c'est en fait root Shell)
commande de type - mount -o remount /
(Ou dans la récupération, vous pouvez cliquer sur l'option Grub. Cela m'a aidé à obtenir des autorisations de lecture-écriture sur le système de fichiers. Cela a essentiellement mis à jour le mode lecture/écriture sur le système de fichiers puisque la commande ne fonctionnait pas pour moi initialement).
Il va remonter votre système de fichiers en mode lecture et écriture.
commande - chown -R root:root /usr
cette commande changera la propriété de "user" à root à nouveau récursivement
Maintenant, j'ai encore des problèmes avec sudo
donc j'ai de nouveau suivi les étapes 1,2,3 et exécuté chmod 4755 /usr/bin/sudo
Maintenant, je pense vraiment que la réinstallation aurait été une "option nucléaire".
J'ai eu le même problème sur mon droplet sur digital ocean.
sudo: /usr/bin/sudo
doit être détenu par uid 0
et avoir le setuid
bit activé. Voici les commandes que j'exécute et qui redémarrent après.
chown -R root:root /usr/bin/sudo
chmod -R a=rx,u+ws /usr/bin/sudo
chown -R root:root /usr/lib/sudo/sudoer.so
chmod -R a=rx,u+ws /usr/lib/sudo/sudoer.so
J'espère que cela vous aidera.
Les méthodes ci-dessus n'ont pas fonctionné pour moi, car je n'ai pas pu me "reconnecter en tant que root" (mot de passe inconnu). Mais j'ai obtenu un Shell root en éditant
vi /etc/lightdm/lightdm.conf
autologin-user=root
greeter-show-manual-login=true
Après avoir redémarré, j'ai enfin pu lancer
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.