Newsgroup: it.comp.www.php
Titolo: configurazione modulo pam

Ciao a tutti,
ho deciso di provare la via del modulo pam per fare una login con php, che
faccia il controllo sugli utenti linux
Nel cercare informazioni sono finito spesso su questo sito
http://www.math.ohio-state.edu/~ccunning/pam_auth/
Avendo una debian, per comodità ho installato il modulo php4-auth-pam con
apt-get.
E sembra che sia andato tutto bene.
Il phpinfo() mi restituisce
pam_auth
      Pam Authentication Support  active
      Directive Local Value Master Value
      pam_auth.servicename wathever wathever
Per il resto ho cercato di seguire le indicazioni che il sito mi ha fornito.
Ho fatto il test con lo script da lui indicato, aggiungendo solo le
variabili di connessione:
//variabili di connessione
$username = "pippo";
$password = "pluto";
if (pam_auth($username, $password, &$error)) {
 echo "Yeah baby, we're authenticated!";
} else {
 echo $error;
}
Non mi da errori, solo che mi restituisce il messaggio "Authentication
failure".
Le due variabili di connessione sono giuste e corrispondono a un'utente
della macchina.
Sinceramente non so che pesci pigliare.
Grazie
Andrea
p.s
Php Version 4.3.10-2
Apache 2.0

 Sinceramente non so che pesci pigliare.
questo lo hai già letto/verificato ?
(
http://www.math.ohio-state.edu/~ccunning/pam_auth/FAQ
)
______________________________________________________
* I'm getting an Authentication Failure error, why?
The most likely reason for this is that you are trying to authenticate via a
local shadow file and you do not have permission to do so. The PAM modules
handling shadow authentication (used on Linux and Solaris) require that the
application have permission to read the shadow file (makes sense, eh?). If 
you
are running php as a cgi or as a webserver module, it is executed as your
webservers user and group.
By default, most Linux and Solaris systems are configured to only allow the 
root
user to read the shadow file. The recommended
way around this is to change permissions on the shadow file so that it is 
group
readable, and chgrp the file to the a group that the webserver is in. Before
doing this, you should give it some serious thought as allowing your 
webserver
to read the shadow file gives hackers another way to crack away at your 
system.
If you decide to enable this, I stronly suggest usage of the pam_tally 
module
to limit failed logins to a reasonable number of attempts, and one of the 
other
modules which will allow you to block root and other system users.
________________________________________________________________
ciao
-- 
Mario
___________________
www.mario-online.com
___________________

Gli avevo dato una lettura veloce all'inizo, effettivamente il problema
potrebbe essere quello.
Adesso verifico..
Grazie


Ciao,
scusa ma mi sfugge una cosa, .....non sono un'espertone di linux.
Ma come faccio a vedere qual'è il gruppo del webserver ??
Grazie ancora


 Ma come faccio a vedere qual'è il gruppo del webserver ??
non è esattamente in topic...cmq dovrbbe bastare qualcosa del tipo
ps aux | grep apache
oppure
ps aux | grep httpd
nel primo campo dovrebbe esserci lo User


Grazie mario, ora funziona, il gruppo era www-data.
Andrea
"Mario Protto" <mario AT mario-online DOT
c...@usaquelloprimadichiocciola.invalid> ha scritto nel messaggio
news:d9p2s5$7rp$1...@area.cu.mi.it...


 
http://www.math.ohio-state.edu/~ccunning/pam_auth/
Attenzione pero' che in questo modo crei degli utenti reali sul tuo
server. Se non ti ricordi di mattere a /bin/false la loro shell un
qualsiasi utente (di quelli utilizzati/creati via web) puo' entrare sulla
macchina via ssh (se demone attivo) o via telnet (se demone attivo) o via
ftp (se configurato).
Ciao


Bhè, con la login non creo degli utenti....
Gli utenti ci sono già nella macchina linux.
La login mi serve per far accedere via web ad un'applicazione (scritta in
php) che deve essere usata solo dagli utenti di quella macchina.
Non fa altro che controllare sul file shadow se le variabili che gli passi
corrispondono ad un username e passwd della macchina linux
if (pam_auth($username, $password, &$error)) {
 echo "Sei autenticato!";
} else {
 echo $error;
}
Non mi sembra pericoloso.
Ciao