Hi Christian,
Naja, nicht ganz. Alle Programme, die normalerweise mit PAM arbeiten, laufen als root (auch passwd z.B., das ist setuid root). Wenn Du den Apachen also nicht als root laufen lassen willst, brauchst Du halt Leserechte auf /etc/shadow - beides halte ich persönlich aber nicht für ideal.
Ich habe gerade noch ein Apache Modul gefunden: mod_authnz_external, in Verbindung pwauth soll auch eine Authentifizierung mit den Systemaccount möglich sein.
Wenn ich das richtig verstanden habe ist pwauth ein SetUID-root Programm, welches sich über diese Art und Weise Leserechte auf /etc/shadow holt. Der Vorteil ist, dass der Apache keine Leserechte braucht.
Aber irgendwie habe ich das Prinzip hinter PAM immer noch nicht ganz verstanden... Dieser Artikel macht mich wieder glaubens, dass es eine Art "Schicht" gibt, die die Authentifizierung vornimmt und über die Dateien in /etc/pam.d/ kann ich definieren, welche Programme da wie Zugriff drauf haben - aber dann verstehe ich nicht, wie ein Modul, dass PAM verwendet Leserechte auf die /etc/shadow benötigt! Was jetzt - gibt es da eine "Schicht" oder nicht? Wenn ja, wie habe ich mir das vorzustellen?
MfG, Dennis.