Derzeit muss sich mein Apache-Server über eine aus htpasswd erstellte Kennwortdatei authentifizieren. Als solches konfiguriert:
AuthType Basic
AuthName "Secured Site"
AuthUserFile "/etc/apache2/users.passwd"
Wie kann ich dies ändern, um mich über lokale Systemkonten zu authentifizieren und mich zusätzlich nur auf eine Teilmenge lokaler Systemkonten in einer bestimmten Gruppe zu beschränken?
apache-2.2
authentication
Mark Roddy
quelle
quelle
AddExternalAuth
undSetExternalAuthMethod
sind Syntaxbefehle alten Stils. Die neue Syntax verwendet nur einen Befehl :DefineExternalAuth pwauth pipe /usr/sbin/pwauth
.pwauth
sicher, dass diepwauth
Binärdatei über Setuid-Berechtigungen verfügt! Sie können dies mit diesem Befehl tun :chmod u+s /usr/bin/pwauth
. Wenn Apache aufruftpwauth
und keine Setuid-Berechtigungen festgelegt sind,1
wird immer der Statuscode (unbekannt) zurückgegeben. bugs.launchpad.net/ubuntu/+source/pwauth/+bug/579846Sie möchten wahrscheinlich so etwas untersuchen
mod_auth_pam
. PAM ist das "Pluggable Authentication Module" -System und der Standard-Anmeldemechanismus für Linux (ich nehme an, dies ist Linux) basiert auf PAM, um seine Authentifizierung durchzuführen.Eine andere Option ist
mod_authnz_external
, die direkt auf die/etc/shadow
Datei schaut , um Konten zu authentifizieren.EDIT : Anscheinend
mod_auth_pam
wird (leider) nicht mehr gepflegt, alsomod_authnz_external
wäre vielleicht eine bessere Wahl ...quelle
Das Apache-Modul
mod_auth_pam
erledigt genau dies für Sie. Sie aktivieren das Modul und die Konfigurationsdatei sollte ungefähr so aussehenUnd du bist fertig.
quelle