{"uuid":"5ec4184c-4999-4f46-aa9e-62ed77dc1cf0","slug":"www-data-droits","title":"Configurer les droits des fichiers","author":"cedric@abonnel.fr","published":true,"published_at":"2025-01-19 07:39:56","created_at":"2025-01-19 07:39:56","updated_at":"2025-01-19 07:39:56","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# Configurer les droits des fichiers\n\nCette 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.\n\nLe groupe `www-data` est le groupe utilisé par Apache pour exécuter ses services et accéder aux fichiers nécessaires.\n\n## Étapes de configuration\n---\n\n### 1. Ajouter l'utilisateur courant au groupe `www-data`\nAjoutez votre utilisateur actuel (représenté par `${USER}`) au groupe `www-data`, qui est responsable des accès aux ressources du serveur web.\n\n```bash\nsudo usermod -a -G www-data ${USER}\n```\n\nVérifiez l'affectation du groupe avec la commande suivante :\n\n```bash\nid ${USER}\n```\n\n---\n\n### 2. Définir l'utilisateur comme propriétaire du dossier `/var/www/html`\nAssignez à votre utilisateur actif les droits de propriété sur le dossier et tous ses sous-dossiers/fichiers.\n\n```bash\nsudo chown -R ${USER}:www-data /var/www/html\n```\n\n---\n\n### 3. Configurer les permissions d'accès pour l'utilisateur et le groupe `www-data`\nAutorisez uniquement l'accès à l'utilisateur et au groupe, en désactivant les permissions pour les \"autres\" utilisateurs.\n\n```bash\nsudo chmod -R 770 /var/www/html\n```\n\nRetirez les droits d'exécution inutiles sur les fichiers (uniquement pour l'utilisateur et le groupe) avec cette commande :\n\n```bash\nfind /var/www/html -type f -exec sudo chmod gu-x {} +\n```\n\n---\n\n### 4. Forcer la reprise du groupe pour les nouveaux fichiers et dossiers\nAssurez-vous que tous les nouveaux fichiers et dossiers créés dans `/var/www/html` héritent automatiquement du groupe `www-data`.\n\n```bash\nfind /var/www/html -type d -exec sudo chmod g+s {} +\n```\n\n---\n\n### 5. Bloquer les autorisations pour \"other\" et forcer l'accès en lecture/écriture pour le groupe `www-data`\nCette é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.\n\nCette commande nécessite le programme ACL (Access Control List). Si ce dernier n’est pas installé, utilisez :\n\n```bash\nsudo apt install acl\n```\n\nPuis appliquez les réglages ACL suivants :\n\n```bash\nsudo setfacl -R -m d:g:www-data:rwX,d:o::rX /var/www/html\n```\n\n---\n\n## Vérification des configurations\n1. **Vérifiez les permissions sur le dossier :**\n\n```bash\nls -ld /var/www/html\n```\n\n2. **Vérifiez les permissions ACL (si configuré) :**\n\n```bash\ngetfacl /var/www/html\n```\n\n---\n\n## Notes supplémentaires\n- **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.\n- **Collaboration multi-utilisateurs :** Si plusieurs utilisateurs doivent collaborer, ajoutez-les au groupe `www-data` et appliquez des permissions cohérentes pour éviter les conflits.\n\n---\n\nCe 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.","featured":false,"tags":[]}