Maîtrisez le système de permissions Linux (lecture, écriture, exécution) et les propriétaires (chown / chmod). Garantissez que Nginx puisse lire vos fichiers sans compromettre la sécurité.
Chaque fichier appartient à un propriétaire (user) et un groupe (group) précis.
r (lecture = 4), w (écriture = 2), x (exécution = 1). Exemple : 755 ou 644.
Le compte système restreint sous lequel tournent Nginx et Apache.
Seul le propriétaire a le droit de lire le fichier de variables secrètes.
# 1. Attribuer la propriété des fichiers à l'utilisateur de déploiement et au groupe web
$ sudo chown -R debian:www-data /var/www/mon-projet
# 2. Configurer les droits standards sur les répertoires (755 : rwxr-xr-x)
$ sudo find /var/www/mon-projet -type d -exec chmod 755 {} ;
# 3. Configurer les droits standards sur les fichiers ordinaires (644 : rw-r--r--)
$ sudo find /var/www/mon-projet -type f -exec chmod 644 {} ;
# 4. Verrouillage absolu du fichier contenant les secrets de production (.env)
$ sudo chmod 600 /var/www/mon-projet/.env
$ ls -l /var/www/mon-projet/.env
-rw------- 1 debian www-data 342 Oct 11 11:20 /var/www/mon-projet/.envls -l, vous observez des chaînes comme -rwxr-xr-x : - (fichier), d (dossier).chmod -R 777 /var/www. | Type d'Élément | Droits Recommandés | Notation Symbolique | Justification Sécurité |
|---|---|---|---|
| Dossiers applicatifs | 755 | rwxr-xr-x | Permet à Nginx de naviguer et lire les sous-dossiers |
| Fichiers statiques (HTML, JS, CSS) | 644 | rw-r--r-- | Lisible par le web, modifiable uniquement par le dev |
| Fichier .env (secrets) | 600 | rw------- | Strictement invisible pour les autres utilisateurs du système |
| Scripts exécutables (.sh) | 750 | rwxr-x--- | Exécutable par le propriétaire et le groupe administrateur |