[Samba-it] Interfaccia web per cambiare password...

NdK ndk.clanbo at gmail.com
Wed Jan 26 00:54:20 MST 2011


Il 25/01/2011 10:41, Marco Gaiarin ha scritto:

>> Mi sa che la speranza ce l'hai se, contestualmente, invii anche una
>> patch che risolva il problema...
> Eh... questo lo so, e se potessi/sapessi farlo, lo farei...
Ma quello che non ho ancora capito è: che cos'ha che non va un semplice
form html che invia i dati ad un cgi che, a sua volta, si appoggia alle
utility da command line?
Con smbpasswd dovresti poterla cambiare senza problemi... se non quello
di lasciare una pass "in chiaro" e vulnerabile per qualche istante. Per
evitarlo, io in PHP ho usato questo codice per interfacciarmi ad
ntlm_auth e verificare una pass di dominio:
/* ntlm_auth($user, $pass)
 *
 * Checks credentials via external ntlm_auth program
 *
 * $user - The user name
 * $pass - The user password to check
 *
 * Returns:
 *  TRUE if the password is correct
 */
function ntlm_auth($user, $pass) {
    $user=escapeshellarg($user);
    $result=1;

    $descriptorspec = array(
        0 => array("pipe", "r"),
        1 => array("pipe", "w"),
        2 => array("pipe", "w"),
    );
    $process = proc_open("ntlm_auth --username='$user'",
$descriptorspec, $pipes);
    if (is_resource($process)) {
        fwrite($pipes[0], "$pass\n");
        //echo stream_get_contents($pipes[1]);
        fclose($pipes[0]);
        fclose($pipes[1]);
        fclose($pipes[2]);
        $result = proc_close($process);

     }

    return !$result;
}

(IIRC il codice è "rubato" da php.net).

In questo modo puoi realizzare una pagina che permetta SOLO di cambiare
la pass, oppure integrare il cambio della password in una pagina con
anche altre funzioni.

IMO usare SWAT per questo è un tantino overkill.

BYtE,
 Diego.



More information about the samba-it mailing list