Cette suite de commandes permet de configurer les droits sur le dossier `/var/www/html` afin de garantir un accès sécurisé tout en permettant à votre utilisateur actif, symbolisé par `${USER}`, d'administrer ce répertoire. Ce dossier est, par défaut sous Debian, utilisé par le service Apache pour héberger les fichiers web. Le groupe `www-data` est le groupe utilisé par Apache pour exécuter ses services et accéder aux fichiers nécessaires. ## Étapes de configuration --- ### 1. Ajouter l'utilisateur courant au groupe `www-data` Ajoutez votre utilisateur actuel (représenté par `${USER}`) au groupe `www-data`, qui est responsable des accès aux ressources du serveur web. ```bash sudo usermod -a -G www-data ${USER} ``` Vérifiez l'affectation du groupe avec la commande suivante : ```bash id ${USER} ``` --- ### 2. Définir l'utilisateur comme propriétaire du dossier `/var/www/html` Assignez à votre utilisateur actif les droits de propriété sur le dossier et tous ses sous-dossiers/fichiers. ```bash sudo chown -R ${USER}:www-data /var/www/html ``` --- ### 3. Configurer les permissions d'accès pour l'utilisateur et le groupe `www-data` Autorisez uniquement l'accès à l'utilisateur et au groupe, en désactivant les permissions pour les "autres" utilisateurs. ```bash sudo chmod -R 770 /var/www/html ``` Retirez les droits d'exécution inutiles sur les fichiers (uniquement pour l'utilisateur et le groupe) avec cette commande : ```bash find /var/www/html -type f -exec sudo chmod gu-x {} + ``` --- ### 4. Forcer la reprise du groupe pour les nouveaux fichiers et dossiers Assurez-vous que tous les nouveaux fichiers et dossiers créés dans `/var/www/html` héritent automatiquement du groupe `www-data`. ```bash find /var/www/html -type d -exec sudo chmod g+s {} + ``` --- ### 5. Bloquer les autorisations pour "other" et forcer l'accès en lecture/écriture pour le groupe `www-data` Cette étape garantit une sécurité renforcée. Les permissions pour les "autres" utilisateurs sont bloquées, et les membres du groupe `www-data` obtiennent automatiquement des droits en lecture et écriture. Cette commande nécessite le programme ACL (Access Control List). Si ce dernier n’est pas installé, utilisez : ```bash sudo apt install acl ``` Puis appliquez les réglages ACL suivants : ```bash sudo setfacl -R -m d:g:www-data:rwX,d:o::rX /var/www/html ``` --- ## Vérification des configurations 1. **Vérifiez les permissions sur le dossier :** ```bash ls -ld /var/www/html ``` 2. **Vérifiez les permissions ACL (si configuré) :** ```bash getfacl /var/www/html ``` --- ## Notes supplémentaires - **Sécurité des fichiers sensibles :** Si des fichiers spécifiques nécessitent des permissions plus restrictives (par exemple, des fichiers de configuration contenant des mots de passe), ajustez leurs permissions individuellement. - **Collaboration multi-utilisateurs :** Si plusieurs utilisateurs doivent collaborer, ajoutez-les au groupe `www-data` et appliquez des permissions cohérentes pour éviter les conflits. --- Ce guide couvre les étapes essentielles pour sécuriser et administrer le répertoire `/var/www/html` tout en permettant une gestion efficace pour les utilisateurs autorisés.