logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 17-11-2018 18:30:48

Rockmyu
Membre
Distrib. : 9.6 (stretch)
Noyau : Linux 4.9.0-8-amd
(G)UI : Gnome 3.22.2
Inscription : 17-02-2016

[Résolu] apache | Autoriser l'accès uniquement aux membres d'un groupe

Bonjour à tous,

Suite à un TP réalisé en classe, j'aimerais approfondir mes connaissances en vous soumettant un problème qui me tient à cœur depuis quelques jours.

Voici le fichier de configuration du site :

cat /etc/apache2/sites-enabled/site.conf


 
        <VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /srv/data/commun/support/doc/_build/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

 



Le fichier index.html est dans _build/html.

Ci-dessous les permissions de mes répertoires :

pwd


/srv/data/commun/support/doc


drwxr-xr-x   3 root root 4.0K Nov 16 17:31 srv
drwxr-xr-x 4 root root 4.0K Nov 16 17:33 data
drwxr-xr-x 4 root root 4.0K Nov 16 17:33 commun
drwxrwx--- 3 root support 4.0K Nov 17 16:19 support
drwxrwxr-x 5 root support_n2 4.0K Nov 16 21:59 doc

J'aimerais qu'uniquement les membres du groupe support puissent accéder à http://localhost.

groups


user cdrom floppy sudo audio dip video plugdev netdev bluetooth lpadmin scanner support
 


Lorsque je tente de me connecter au site j'ai ce message qui s'affiche :

Forbidden

You dont have permission to access / on this server.


J'ai accès au site uniquement avec cette commande :

chmod 771 support



Ce qui donnerait :
drwxrwx--x 3 root support 4.0K Nov 17 16:19 support

Mais dans ce cas je donne l'accès à tout le monde sad

Voici les logs d'apache lorsque je tente de me connecter sans donner l'accès à tous les utilisateurs :

tail -f /var/log/apache2/error.log


[Sat Nov 17 17:42:04.998161 2018] [mpm_event:notice] [pid 614:tid 140434056201408] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
[Sat Nov 17 17:42:05.001085 2018] [mpm_event:notice] [pid 614:tid 140434056201408] AH00489: Apache/2.4.25 (Debian) configured -- resuming normal operations
[Sat Nov 17 17:42:05.001126 2018] [core:notice] [pid 614:tid 140434056201408] AH00094: Command line: '/usr/sbin/apache2'
[Sat Nov 17 17:42:07.688989 2018] [core:error] [pid 8841:tid 140433703212800] (13)Permission denied: [client 127.0.0.1:39754] AH00035: access to / denied (filesystem path '/srv/data/commun/support/doc') because search permissions are missing on a component of the path
 



Je continue mes recherches !

Merci
Rockmyu

Dernière modification par Rockmyu (18-11-2018 03:35:50)

Hors ligne

#2 17-11-2018 19:00:03

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : [Résolu] apache | Autoriser l'accès uniquement aux membres d'un groupe

Rockmyu a écrit :

Je continue mes recherches !


quelques mots clés pour ta recherche : htpasswd htaccess


o_O

Hors ligne

#3 17-11-2018 19:14:43

Rockmyu
Membre
Distrib. : 9.6 (stretch)
Noyau : Linux 4.9.0-8-amd
(G)UI : Gnome 3.22.2
Inscription : 17-02-2016

Re : [Résolu] apache | Autoriser l'accès uniquement aux membres d'un groupe

Freemaster a écrit :

Rockmyu a écrit :

Je continue mes recherches !


quelques mots clés pour ta recherche : htpasswd htaccess



Merci, je pensais que je pouvais m'en passer hmm

Je vais consulter les documentations.

Hors ligne

#4 17-11-2018 19:33:42

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : [Résolu] apache | Autoriser l'accès uniquement aux membres d'un groupe

tu peux remplacer www-data par support, dans la configuration apache... mais je ne vois pas ce que cela va changer dans le fonctionnement...

o_O

Hors ligne

#5 18-11-2018 01:22:11

Rockmyu
Membre
Distrib. : 9.6 (stretch)
Noyau : Linux 4.9.0-8-amd
(G)UI : Gnome 3.22.2
Inscription : 17-02-2016

Re : [Résolu] apache | Autoriser l'accès uniquement aux membres d'un groupe

Freemaster a écrit :

tu peux remplacer www-data par support, dans la configuration apache... mais je ne vois pas ce que cela va changer dans le fonctionnement...



Ca n'a rien changé malheureusement sad

Quant à htpasswd et htaccess c'est pour gérer les authentification il me semble. J'aimerais suivre le raisonnement suivant :

utilisateur est dans le groupe support = accès à http://localhost


utilisateur n'est pas dans le groupe support = accès refusé à http://localhost



Exactement comme lorsqu'un utilisateur du groupe compta par exemple se voit l'accès au répertoire support refusé avec la commande cd /srv/data/commun/support

drwxrwx--- 3 root support 4.0K Nov 17 16:19 support



J'ignore si c'est possible.

Mais étant donné que j'accède au site en autorisant à tout le monde l'accès en exécution au dossier support, je garde espoir.

EDIT :  Pour citer un membre du forum ubuntu-fr.org :

krodelabestiole a écrit :

à partir du moment ou tu effectues une requête http, ça n'a plus de sens de parler d'utilisateurs unix. C'est un navigateur qui interroge un serveur.


J'ai fini par envoyer un mail à mon prof. Le serveur web s’exécute avec un utilisateur et un groupe par défaut www-data.

Quand je donnais au répertoire support l'accès en exécution à tout le monde, j'avais accès au site car www-data étant en mesure de remonter le répertoire ; toutefois les autre utilisateurs aussi et ce n'est pas ce qui est voulu.

Pour résoudre le problème il faut ajouter au dossier support l'utilisateur www-data et conserver le groupe support.

Dernière modification par Rockmyu (18-11-2018 03:39:05)

Hors ligne

#6 18-11-2018 07:22:45

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : [Résolu] apache | Autoriser l'accès uniquement aux membres d'un groupe

Rockmyu a écrit :

Pour résoudre le problème il faut ajouter au dossier support l'utilisateur www-data et conserver le groupe support.


ou alors changer l'user root par www-data, pour avoir :

drwxrwx--- 3 www-data support 4.0K Nov 17 16:19 support


cela aurait le même effet...


o_O

Hors ligne

Pied de page des forums