Apache Authentication via PAM

Bonjour,

J’aimerais créer une page web, où seuls les utilisateurs d’un groupe auraient accès.

J’ai donc créé un groupe groupadd players
J’ai créé un utilisateur adduser player1 puis usermod -G players player1

Je n’ai pas encore géré les droits de ces users (je ne veux pas qu’ils puissent se logger en console, et je ne veux pas non plus leurs laisser un “/home” comme pour un ftp. Les membres de ces groupes ne pourront QUE s’authentifier sur le site web. (je n’utilise pas de DB pour avoir le max de performances).µ

J’ai installé

Pour la config d’apache, j’ai créé un fichier /etc/pam.d/httpd, dans lequel j’ai inséré ceci :

auth required pam_unix.so account required pam_unix.so
Je ne sais pas à quoi sert exactement ce fichier.

Ensuite, j’ai modifié le fichier /etc/apache2/httpd.conf :

<Directory /var/www/> AuthPAM_Enabled on AllowOverride None AuthName "Players" AuthType "basic" require group players </Directory>

J’ai redémarré Apache.

Mon client reçoit un message d’erreur qui m’invite à regarder les logs.

Le log error m’indique :

Internal error: pcfg_openfile() called with NULL filename (9)Bad file descriptor : could not open password file: (null)

Pourquoi apache ne peut pas ouvrir le fichier de mot de passe? Y a-t’il des droits à donner? Ai-je oublié quelque chose dans ma config?

Voilà comment j’avais fait il y a deux ans env. pour une page web privée :
https://www.debian-fr.org/serveur-web-dossier-prive-acces-par-mdp-t30658-25.html

[quote=“ricardo”]Voilà comment j’avais fait il y a deux ans env. pour une page web privée :
https://www.debian-fr.org/serveur-web-dossier-prive-acces-par-mdp-t30658-25.html[/quote]

Salut,

Merci pour ta réponse. J’ai bien regardé ton lien. Si je comprends bien, ton authentification utilise un fichier “.htpsswd”. Dans ce fichier, tu fais une liste avec des “username:password…”, non?
J’aime bien utiliser PAM, parce que ça me permet d’utiliser le fichier shadows (sans les mdp, mais avec leurs sommes md5).
Je ne peux pas me permettre d’enregistrer des mots de passe en clair dans ce cas-ci.

J’ai modifié mon fichier httpd.conf en suivant les conseils de
readthefuckingmanual.net/error/1387/

J’ai rajouté ceci :

AuthBasicAuthoritative Off AuthUserFile /dev/null

L’erreur a changé. Je reçois maintenant
PAM: user ‘player’ not authenticated: Authentication Failure

httpd sa vie encore ça ?

Alors… Que répondre à ça…

Je suis une grosse quiche dés que je sors de ce que j’ai appris à l’école. J’ai appris à utiliser Samba, netfilter et bind9. J’ai vu (mais je m’en foutais à l’époque) la gestion des disques durs et des users.

Hors de ça, c’est le néant!

Je vais exposer mon système de la manière la plus simple possible.

J’utilise un système debian comme passerelle. Je veux que ce système debian n’autorise que certaines personnes. Pour ce faire, je voulais créer un mini serveur web, avec login/mdp. Lorsque quelqu’un le logge sur la passerelle, je veux que ça lance un script qui aurait une règle du style :
iptables -A FORWARD -s $ipDuClient -j ACCEPT

Il est INDISPENSABLE que ce système utilise le moins de ressources possibles. Comptez qu’il risque d’y avoir jusqu’à 200 clients qui se serviront de cette passerelle, et que mes règles iptables seront resettées tous les jours. Je ne peux pas en dire plus (en public) sur l’utilité de cette passerelle un peu bizarre. Mais il me faut absolument une identification via un serveur web avant d’autoriser l’accès.

Je pense que tu as assez d’infos pour comprendre mon problème (sinon => MP).

Si tu as un meilleur moyen à me suggérer, j’en serais ravis. (je préfère éviter MySQL, ou tout autre serveur de DB, je dois vraiment utiliser au mieux le processeur).