securite_linux
Permissions Linux
— François Raynaud 2020/06/08 15:52
Mise en production d'openAssociation
La procédure est valable pour toutes les applications openMairie
source : réglage des droits apache
La sécurisation de /var/www/html/openassociation_1.0.1
L'utilisateur Apache (et donc PHP) est « www-data ».
Seul le propriétaire (u=root) peut modifier les fichiers ou écrire dans /var/www, et le groupe (g=www- data) peut uniquement les lire. Les autres (o) ne peuvent rien faire.
chown -R root:www-data /var/www/html/openassociation_1.0.1 find /var/www/html/openassociation_1.0.1 -type f -print0 | xargs -0 chmod -t,a-rwxs,u+rw,g+r find /var/www/html/openassociation_1.0.1 -type d -print0 | xargs -0 chmod -t,a-rwxs,u+rwx,g+rx
- option -t de chmod :
- option a-rwxs : efface les droits à tous (a)
- option a-rwxs : “s” est le sticky bit qui permet de supprimer un dossier ou un fichier seulement si on en est propriétaire
- option u+rw : donne les droits lecture et écriture à u
- option g+r : donne les droits de lecture à g
- option -print0 de find : les noms de fichiers avec espaces et caractère particulier seront traités
- xarg : permet de récupérer les arguments en sortie de la commande précédente et de les traiter à travers un pipe.
On peut alternativement utiliser la méthode octale qui se présente comme ceci :
- r (4) : autorisation de lecture
- w (2) : autorisation d'écriture
- x (1) : autorisation d'exécution
chown -R root:www-data /var/www/html/openassociation_1.0.1 find /var/www/html/openassociation_1.0.1 -type f -print0 | xargs -0 chmod 640 find /var/www/html/openassociation_1.0.1 -type d -print0 | xargs -0 chmod 750
Mettre les droits d'écriture d'apache /var/www/html/openassociation_1.0.1/var
Il faut que www-data puisse écrire dans le répertoire var pour écrire les logs et les fichiers.
Le -R (récursif) dans le cas d’un dossier, car openAssociation a besoin d’écrire
dans le dossier mais elle a aussi besoin de pouvoir écrire dans les sous-dossiers et les fichiers.
chmod -R g+w /var/www/html/openassociation_1.0.1/var
Si il n'existe pas il faut créer le dossier /var/www/html/openassociation_1.0.1/var
avec la méthode octale, cas ou les fichiers sont stockés en var/www/html/files
chown -R root:www-data files/ find /var/www/html/files -type f -print0 | xargs -0 chmod 660 find /var/www/html/files -type d -print0 | xargs -0 chmod 770
Note de JPA du 11 mai 2020
Il faut effectuer les actions dans cet ordre :
mkdir /var/www/html/files touch /var/www/html/files/test chown -R root:www-data files/ find /var/www/html/files -type f -print0 | xargs -0 chmod 660 find /var/www/html/files -type d -print0 | xargs -0 chmod 770
securite_linux.txt · Dernière modification : 2020/06/08 15:52 de fraynaud