web-dev-qa-db-fra.com

Exécution de 'chmod 777 *' sur le répertoire personnel

J'ai accidentellement exécuté chmod 777 * (sans le paramètre -R) sur mon répertoire personnel.

Sera-ce un problème? Alors comment le résoudre?

4
Amila Eranga

Si vous n'avez exécuté que chmod 777 * et non le pervers chmod -R 777 *, vous n'avez pas vraiment fait beaucoup de mal à votre système.

Cependant, tous les fichiers et répertoires de niveau supérieur doivent être restaurés avec leurs autorisations d'origine. Heureusement, cette opération est relativement simple. Il suffit de lancer la commande ci-dessous:

chmod a=r,u+w,a+X *

Cela fera des miracles pour réinitialiser toutes les autorisations de dossier à 644 pour les fichiers (valeur par défaut) et 755 pour les dossiers (à nouveau, valeur par défaut). Voir cette réponse de débordement de pile pour une idée plus détaillée du fonctionnement de cette commande.

À partir de là, les autorisations doivent être réinitialisées par défaut. Vous pouvez également avoir besoin de modifier certaines autorisations pour revenir à ce qu'elles étaient auparavant, mais cela devrait (au moins) réparer les dommages.

Notamment, vous souhaitez également exécuter ces deux commandes:

chmod 700 .ssh
chmod 600 .Xauthority

Cela évitera toute erreur d'authentification liée à X11 ou à SSH en raison d'autorisations incompatibles. Bien que cela ne soit pas important, il vaut mieux prévenir que guérir.


En toute honnêteté, exécuter chmod sur votre répertoire personnel n'est pas la pire chose au monde . Bien que cela puisse causer des problèmes avec des choses comme SSH et Xauthority, c'est loin d'être catastrophique, car vous possédez tous les fichiers de votre répertoire personnel et (idéalement), vous êtes le seul à pouvoir y avoir accès.

Compte tenu de cela, il est parfaitement sûr ( mais pas nécessairement la meilleure idée ) d’être paresseux ici et de refuser l’accès à votre dossier personnel à tous les utilisateurs qui sont soit pas toi-même ou pas root. Vous pouvez le faire en exécutant la commande ci-dessous:

chmod 700 ~

Effectivement, cela permettra uniquement à votre utilisateur d'accéder à votre dossier personnel. Les autres utilisateurs (à l'exception de root - qui a accès à tout de toute façon) n'auront aucun moyen d'accéder à votre dossier personnel et, de ce fait, le fait que tout ce qu'il contient soit défini sur lisible/enregistrable/exécutable n'a pas d'importance.

Si vous ne faites que cela et que vous appelez cela un jour, cependant, certains systèmes comme Xauthority et SSH peuvent se plaindre, alors tenez compte de cela. De même, certains services qui ont un besoin légitime d'accéder à votre dossier de départ sous un compte d'utilisateur différent ne pourront plus le faire. Vous pouvez un peu résoudre ce problème grâce à des autorisations avancées, des fu et des ACL, mais cela ne fait que descendre dans un lapin très sombre et venteux.

13
Kaz Wolfe