URL: https://linuxfr.org/forums/linux-general/posts/pam-et-login-shell Title: PAM et login shell ? Authors: Moonz Date: 2012年02月15日T16:32:44+01:00 Tags: Score: 3 Bonjour à tous, Je me suis mis récemment en tête de centraliser les 15 .htaccess (un pour phpmyadmin, un pour SVN, etc.) qui se baladent sur mon serveur. En cadeau bonus, j’ai décidé de faire ça avec pam. J’ai donc maintenant de jolis "phpmyadmin" et "svn" dans /etc/pam.d qui contiennent (en gros) @include common-auth @include common-account Maintenant, j’aimerais que nginx utilise PAM pour authentifier les utilisateurs. Aucun problème, il y a un [module pour ça](http://web.iti.upv.es/~sto/nginx/). J’ajoute donc dans ma configuration de ngnix, pour le virtual host correspondant, au pif, à phpmyadmin : location / { auth_pam "phpmyadmin"; auth_pam_service_name "phpmyadmin"; } Sauf que... ça ne marche pas. Je me décide à débugger tout ça, et je finis par écrire [un programme](http://pastebin.com/JH1dYcmh) qui fait en gros ce que fait le module pam pour nginx. Je le teste en tant que root, ça marche. Je le teste en tant que mylogin, ça marche. Je le teste en tant que www, ça ne marche pas : Feb 15 15:40:26 localhost unix_chkpwd[29746]: check pass; user unknown Feb 15 15:40:26 localhost unix_chkpwd[29746]: password check failed for user (mylogin) Après quelques tests, il s’avère que si un utilisateur a comme shell /bin/false, unix_chkpwd. J’ai donc mis le shell de www à /bin/sh (gruik !), et ça marche. Maintenant, une petite question pour vous (deux en fait) : - ce comportement est-il documenté quelque part ? - y a-t-il un moyen de le contourner, histoire de pouvoir remettre le shell de www à /bin/false ? (même si ça sert à rien) [EDIT] Bon, en fait, ça ne marche pas non plus avec /bin/sh, mauvais diagnostic...

AltStyle によって変換されたページ (->オリジナル) /