Annonce de service public :
N'utilisez jamais chmod 777 pour résoudre les problèmes.
-
C'est un risque pour la sécurité si vous exécutez des services accessibles au public, en particulier les applications web (ex : PHP).
Le modèle de sécurité du système d'exploitation part du principe que de nombreux services (tels que votre serveur serveur web) fonctionnent avec des privilèges réduits, ce qui les empêche de modifier les fichiers. La définition de 777 sur les fichiers brise cette conception sécurisée.
Un utilisateur distant pourrait écrire ou télécharger des fichiers, puis tromper le serveur (ou un autre processus sur votre système) pour qu'il les lise ou les exécute. Les scripts ou les logiciels peuvent avoir des failles qui permettent cela. Il est très difficile d'être sûr d'avoir verrouillé toutes les façons dont cela pourrait se produire s'il existe des répertoires inscriptibles dans le monde.
-
Utilisé dans certains répertoires système (/usr, /etc, /var, etc.), il peut casser votre système de manière surprenante.
Certains fichiers système essentiels nécessitent des autorisations spéciales, telles que les autorisations setuid/setgid, pour pouvoir être exécutés. Par exemple, sudo. Évitez de modifier les autorisations de fichiers sur les répertoires et les fichiers mis en place par le système lui-même.
-
Il n'y a aucun moyen de l'annuler et de récupérer toutes les anciennes permissions.
En d'autres termes, si vous aviez des fichiers et des dossiers avec des autorisations différentes auparavant, il n'y a aucun moyen de revenir à ces autorisations spécifiques - seulement de les changer toutes en la même chose, ce qui peut perdre tous les paramètres d'autorisation spécifiques qui étaient nécessaires sur des fichiers spécifiques.
-
Il y a toujours un moyen plus approprié d'atteindre ce que vous voulez atteindre.
La configuration par défaut d'Ubuntu (et d'autres systèmes d'exploitation) consiste à exécuter le serveur web en tant qu'utilisateur non privilégié et à faire en sorte que les fichiers du site web soient accessibles à partir d'un ordinateur. lisible dans le monde entier est un choix sûr et raisonnable et, dans un souci de cohérence, ne devrait pas être modifié sauf si cela est nécessaire. Ainsi, pour s'assurer que le processus serveur non privilégié puisse lire les fichiers de votre site web, ceux-ci devront être lisibles par tous.
Donner la permission d'écrire le monde est bien plus que ce que vous devez faire.
Lorsque vous cherchez à savoir pourquoi le processus du serveur web ne peut pas lire vos fichiers, rappelez-vous que non seulement les fichiers eux-mêmes doivent être lisibles par le monde entier (par exemple, 644), mais que leurs répertoires parents doivent être lisibles et traversables par le monde entier (par exemple, 755). Définissez votre répertoire personnel à quelque chose comme 755, ou si vous ne voulez pas que votre répertoire personnel soit lisible par tous, déplacez votre répertoire www en dehors de votre domicile dans un endroit comme /var/www ou /srv).
Remarque sur le fait de rendre les fichiers accessibles en écriture :
De temps en temps, vous avez besoin que votre serveur web soit capable d'écrire dans certains fichiers. Pour ce faire, assurez-vous de n'autoriser l'écriture que sur les fichiers spécifiques pour lesquels vous voulez donner cette autorisation, et il est encore préférable d'utiliser la propriété de groupe et le bit d'écriture de groupe pour donner cette autorisation qui les rend accessibles à tous.