2010-09-21 6 views
5

Dire che volevo creare qualcosa come funziona come cPanel, usa il nome utente e la password dal sistema.Come utilizzerei PHP per l'autenticazione con utenti e password di Linux?

È possibile eseguire 'utente passwd' sul server e la password sarebbe ancora lavorare con cPanel e FTP (non necessariamente MySQL, ma si ottiene il punto)

Come dovrei fare questo in PHP? Non ho la minima idea, oltre a eseguire/bin/su localmente e in esecuzione da quello. Con quello, potrebbe essere inaccurato sebbene .. Io di solito ho alcuni dei miei sviluppatori su un sotto-account, o su root lo sviluppo di qualcosa.

Qualsiasi idea sarebbe molto apprezzata, grazie! :)

+1

Si desidera (1) autenticare con nome utente/password di sistema o (2) eseguire effettivamente il codice da un server Web come utente specifico? – Wrikken

+0

Mi piacerebbe autenticarmi con il nome utente e la password. Grazie – Billy

risposta

6

PAM: http://pecl.php.net/package/PAM

in Debian 'pacchetti/buntu, probabilmente è facile come installare php5-auth-pam, e utilizzando la funzione di:

pam_auth($username,$password,$error); 

Anche se sembra fare affidamento sulla antica sintassi PHP4, perche' ho un errore se non uso il modo deprecato di passaggio per riferimento al momento della chiamata:

if(!pam_auth($username,$password,&$error)){ 
    echo 'No access, PAM said: '.$error; 
} 
+0

Grazie, non ho visto questo modulo prima. Sperimenterò e vedrò come va. – Billy

+0

Un po 'datato, ma questo può accedere agli account che si trovano nel file shadow? Voglio sincronizzare con account già presenti sul server semplicemente l'autenticazione con un'app Web. – kevingreen

+1

Sì, posso confermare localmente che funziona subito con debian + php5-auth-pam + file shadow, quindi probabilmente sulla maggior parte degli osses basati su linux. – Wrikken

0

in realtà non è chiaro che cosa si vuole Authe nticate. In ogni caso, è possibile utilizzare PAM con PHP: http://pecl.php.net/package/PAM

c'è quella funzione PHP: posix_getpwnam

Si potrebbe usare che molto dritto in avanti pure.

Problemi correlati