J'utilise Ubuntu 13.04 x86_64.
Je voulais posséder des trucs entiers dans mon répertoire personnel. J'ai donc exécuté ces deux commandes.
Sudo chown -RcH rootkea ~
Sudo chown -RcL rootkea ~
Maintenant, à cause de ces liens symboliques liés à d'autres fichiers du système de fichiers, j'ai accidentellement possédé des fichiers qui se trouvaient en dehors de mon répertoire personnel.
Les conséquences immédiates que j'ai remarquées sont les suivantes:
Sudo ne fonctionne pas
$ Sudo
Sudo: effective uid is not 0, is Sudo installed setuid root?
crée un fichier journal /var/log/cups/error_log
de taille indéfinie qui consomme le dernier octet de mon disque dur (après un temps considérable). La dernière fois, c'était 17,8 Go!
Le contenu du fichier ne comprenait que ces deux lignes répétées indénombrables:
E [24/May/2013:02:27:52 +0530] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100755/uid=1000/gid=0).
W [24/May/2013:02:27:52 +0530] Notifier for subscription 531 (dbus://) went away, retrying!
Le programme cups
est donc clairement vissé aussi.
Maintenant, je n'ai aucune idée du nombre d'autres programmes qui sont devenus inutilisables.
Est-il possible d’annuler les effets des deux commandes mentionnées ci-dessus?
Comment puis-je restaurer les paramètres d'autorisation par défaut sur un système de fichiers entier?
Comme suggère gertvdijk (par rapport à cette question ), la réinstallation est presque toujours le moyen le plus simple et le plus simple de résoudre ce problème (et le seul moyen d'être sûr de le résoudre complètement.) ), surtout si vous ne savez pas exactement où l'autorisation a été modifiée ou en quoi elle a été modifiée.
Cette méthode , qui private a suggéré , pourrait fonctionner, et vous pouvez estimer que cela en vaut la peine. Cependant, il existe des variations d'une version à l'autre de l'emplacement où se trouvent les fichiers et les dossiers, ainsi que leurs droits de propriété et leurs autorisations. En outre, quelle que soit la solution proposée, à part la réinstallation, vous ne saurez jamais s'il existe des fichiers ou des dossiers dotés d'autorisations erronées, ce qui pourrait, à l'avenir, poser problème.
Vous pouvez généralement corriger - ou du moins faire progresser - le problème de Sudo
ne fonctionne pas (c'est-à-dire, le problème 1, comme vous l'avez indiqué) en corrigeant sa propriété:
pkexec chown root:root /usr/bin/Sudo
Dans une situation comme la vôtre, c'est principalement utile comme mesure de commodité pour faciliter l'exécution de toutes les tâches administratives nécessaires avant la réinstallation. (Ou avant d'essayer d'appliquer une solution plus compliquée.) Une sauvegarde est définitivement nécessaire, si vos sauvegardes de fichiers importants (par exemple, des documents) ne sont pas complètement à jour.
Enfin, veuillez noter que c’est seulement propriété et non autorisations , que ont été modifiés. Vous pouvez donc essayer de modifier récursivement la propriété des répertoires en root. Cependant, cela ne résoudra pas le problème non plus, car:
Donc, s’il s’agit d’un système de production, vous devez simplement le réinstaller.