Autenticazione in Apache tramite account di sistema

Ho attualmente il mio server apache per l'authentication tramite un file di password creato da htpasswd. Configurato come tale:

AuthType Basic AuthName "Secured Site" AuthUserFile "/etc/apache2/users.passwd" 

Come posso modificarla per l'authentication tramite account di sistema locali e restringere ulteriormente solo un sottoinsieme di account di sistema locali in un gruppo specificato?

  • Autenticazione Windows IIS 8.5 non rioutput per alcuni utenti
  • Provider di authentication Windows IIS7
  • Autenticazione di base di IIS 7.5 e validation di Active Directory
  • Imansible connettersi all'istanza AWS EC2 - "Verifica della chiave host non rioutput"
  • Configurare l'authentication anonima per utilizzare l'identity framework; di pool di app per un sito specifico
  • Autenticazione LDAP su CentOS 7
  • postfix sasl "non può connettersi a server saslauthd: nessun file o directory"
  • Autenticazione facile multi-livello per sudo
  • 3 Solutions collect form web for “Autenticazione in Apache tramite account di sistema”

    Come suggerito da David Z, è ansible utilizzare mod-authnz-external. Usalo con pwauth ad esempio.

    Se si esegue Debian o un derivato:

     apt-get install libapache2-mod-authnz-external pwauth a2enmod authnz_external 

    Nella tua configuration, aggiungi

     <IfModule mod_authnz_external.c> AddExternalAuth pwauth /usr/sbin/pwauth SetExternalAuthMethod pwauth pipe </IfModule> 

    E nella sezione Directory o il file .htaccess:

      AuthType Basic AuthName "Login" AuthBasicProvider external AuthExternal pwauth Require valid-user # or # Require user jules jim ... 

    Infine ricaricare la configuration con il apache2ctl restart o il service apache2 reload .

    Vedi anche questa documentazione .

    Il module Apache mod_auth_pam farà esattamente questo per te. Abilita il module e il file di configuration dovrebbe sembrare qualcosa di simile

     AuthType Basic AuthName "secure area" require group staff require user webmaster 

    E sei tutto pronto.

    Probabilmente vuoi esaminare qualcosa di simile a mod_auth_pam . PAM è il sistema "Pluggable Authentication Module" e il sistema standard di Linux (che sto assumendo questo è Linux) il sistema di accesso al sistema si affida a PAM per eseguire l'authentication.

    Un'altra opzione è mod_authnz_external , che guarda direttamente al /etc/shadow per autenticare gli account.

    EDIT : Apparentemente mod_auth_pam non è più mantenuto (purtroppo), quindi forse mod_authnz_external sarebbe una scommessa migliore …

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.