Paramétrage Apache2 droit d'accès

Résolu
Didoul33 Messages postés 227 Date d'inscription lundi 27 septembre 2021 Statut Membre Dernière intervention 7 novembre 2023 - 30 oct. 2023 à 10:41
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 6 nov. 2023 à 18:34

Bonjour,

Dans le cadre d'un projet, je dois paramétrer les droits sur Apache2 : 

  • L’utilisateur www-data ne peut que
    • lire et exécuter les fichiers du DOCUMENTROOT (modif interdite)
    • lire et modifier les fichiers du répertoire /var/log (exécuté interdite)
    • lire et exécuter les fichiers du répertoire /etc/apache2 (modif interdite)
  • créer un utilisateur « webadmin » qui fera partie du groupe www-data
    • il doit pouvoir modifier les fichiers du DOCUMENTROOT
  • Le dossier /var/www/http a été configuré comme appartement à « webadmin » et au groupe « www-data » avec les droits chmod à 750

Cependant, je suis un peu perdu. Si je modifier les droits du fichier /var/www/html, il sera modifier pour tout le monde et pas uniquement pour l'utilisateur www-data et webadmin ?

Peut-on utiliser CHMOD par utilisateur ? 

Merci


Windows / Chrome 118.0.0.0

1 réponse

mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
Modifié le 6 nov. 2023 à 18:37

Bonjour,

Réponse courte

Peut-on utiliser CHMOD par utilisateur ? 

Uniquement pour l'utilisateur propriétaire, qui en tant que propriétaire, peut alors redéfinir les droits comme il le souhaite. Du coup, vu les contraintes imposées à www-data, cela n'aurait aucun intérêt.

La seule solution technique pour définir une politique de droits plus fine serait d'utiliser des droits ACL que tu n'as probablement pas vu en cours.

Réponse détaillée

Vu l'énoncé, je dirais que ton enseignant s'attend à ce que tu proposes une solution uniquement en utilisant les commandes chown, chgrp et chmod.

Pour rappel, sous Unix les droits sont définis par trois triplets rwx (Read, Write, eXecute) qui s'appliquent respectivement au propriétaire (u), aux membres du groupe propriétaire (g), et aux autres (o).

Les fichiers que tu mentionnes appartiennent à root (groupe root) sur un système Linux correctement configuré. Cela signifie que les droits qui concernent l'utilisateur www-data sont définis par le troisième triplet de droits rwx. Cela implique également que les droits que tu adoptes pour www-data concernent également tous les autres utilisateurs (hormis bien sûr, root et les membres du groupe root, lequel ne contient que l'utilisateur root).

D'un point de vue technique, appliquer les ces droits à l'ensemble des utilisateurs (www-data inclus) parfaitement raisonnable. En effet, en pratique, www-data et root sont les deux seuls utilisateurs amenés à accéder directement à ces fichiers. Cependant, je reconnais que l'énoncé n'est pas très clair et laisse entendre que seul www-data devrait être concerné par ce changement de droits.

Mais ce qu'il faut bien comprendre, c'est que si www-data devait avoir des droits spécifiques par rapport aux autres utilisateurs, il faudrait :

  • soit utiliser des droits étendus (voir ACL), mais je doute que tu les aies vus en cours ;
  • soit rendre www-data propriétaire des fichiers en question, mais dans ce cas, en tant que propriétaire de ces fichiers, il pourrait les redéfinir à loisir, et donc le changement de droits n'aurait aucun intérêt pratique (pire, il ouvrirait un trou de sécurité car www-data pourrait alors s'octroyer des droits plus importants que ceux qu'il a actuellement).

Concernant le second point, si tu as compris ce que je viens d'expliquer, tu en conclues que l'utilisateur webadmin, doit devenir propriétaire de ces fichiers.

Bonne chance

1