[Dresden-pm] Frage zu PAM

A. Pagaltzis pagaltzis at gmx.de
Fre Dez 16 06:05:12 PST 2005


* Hans-Dietrich Kirmse <hd.kirmse at gmx.de> [2005-12-16 14:24]:
>   pam_start("passwd", $login_name, $pamh);
>   pam_chauthtok($pamh);
>   pam_end($pamh);
> 
> das "passwd" der Service ist, das verstehe ich ja noch,
> "$login_name" logischerweise auch, aber was soll "$pamh" sein?
> ich vermute, dass es so eine Art Handle ist, bin mir aber nicht
> sicher.

Wenn ich vom C-Code richtig auf das Perl-Modul schliesse, musst
du einfach eine leere Variable als $pamh angeben, wo der PAM-Code
dann irgendein Handle reinschreibt, was dich nicht weiter
interessieren muss, sondern nur bei weiteren Aufrufen mit
angegeben werden muss.

Warum das überhaupt angeboten wird und die wesentlich besser
verständliche OO-Version nicht die einzige vorgesehene ist, weiss
ich nicht. Die sähe zB so aus:

    my $pamh = Authen::PAM->new( "passwd", $login_name );
    $pamh->pam_chauthtok;
    undef $pamh;

Gruss,
-- 
#Aristoteles
*AUTOLOAD=*_;sub _{s/(.*)::(.*)/print$2,(",$\/"," ")[defined wantarray]/e;$1};
&Just->another->Perl->hacker;