2016-05-11 2 views
0

je fait une erreur très ennuyeux dans un script ... Une ligne censé changer les permissions récursive sur un dossier:Comment réparer les permissions après chmod -r 777 /?

chmod -R 777 $folder/ 

La chose est la variable n'a pas été définie, il a couru à la place:

chmod -R 777/

Oui stupide. Le problème est maintenant je ne peux plus utiliser sudo, je reçois ce message:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set 
  1. Est-il possible de restaurer les autorisations?
  2. Sinon, est-il possible de sauvegarder mon Ubuntu 14.04 (en cours d'exécution sur VirtualBox)?
  3. Sinon, comment puis-je enregistrer des données importantes?
+0

* * Vous [ne pouvez pas résoudre ce problème] (https://serverfault.com/q/364677/313521) sans réinstaller. ** – Wildcard

Répondre

1

J'ai enfin trouvé une solution!

Problème expliqué

Lorsque j'ai changé récursive les autorisations sur le dossier racine / J'ai aussi changé les autorisations pour /usr/bin/sudo. Pour voir ses autorisations que je tapais:

ls -la /usr/bin/sudo 

Il me donne:

-rwxrwxrwx 1 root root 127668 2016-05-11 12:01 /usr/bin/sudo 

Au lieu de:

-rwsr-xr-x 1 root root 127668 2016-05-11 12:01 /usr/bin/sudo 

Voici le de de -RW s r-XR x est important car il donne des permissions temporaires à un utilisateur pour exécuter sudo avec les permissions du propriétaire du fichier (c'est à dire root dans ce cas) ather que l'utilisateur qui le dirige.

Jetez un oeil sur cet article pour plus d'informations: http://www.linuxnix.com/suid-set-suid-linuxunix/

Une solution aurait été de changer les autorisations sur /usr/bin/sudo:

chmod 4755 /usr/bin/sudo 

Mais je dois être root pour modifier les autorisations .. Eh bien, heureusement, j'utilisais Ubuntu sur une machine virtuelle.

Solution

Une solution est de créer une nouvelle machine virtuelle. Une fois qu'il a fait, sur ma nouvelle machine virtuelle monter mon rompu ubuntu .vdi avec VirtualBox. Paramètres -> Stockage -> Ajouter un disque dur. Assurez-vous que le premier disque dur est votre nouvelle machine virtuelle afin qu'elle démarre sur la nouvelle machine virtuelle.

Une fois qu'il est fait, vous pouvez modifier les autorisations d'Sudo sur le disque dur monté (votre ubuntu cassé):

sudo chmod 4755 /mnt/XXXXX/usr/bin/sudo 

Vous pouvez maintenant exécuter votre machine virtuelle fixe avec un sudo de travail ...

+0

Cela ** ne ** vous permettra pas de tout réparer. [Période.] (Https://serverfault.com/q/364677/313521) – Wildcard