96 lines
3.2 KiB
Markdown
96 lines
3.2 KiB
Markdown
# Configurer les droits des fichiers
|
||
|
||
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. |