Aș dori să am un utilizator Linux local pentru a putea fi autentificat (autentificare) folosind modulul Nginx PAM. Folosesc un server CentOS 7. Mai exact, mai jos este ceea ce încerc să fac...
The CITEȘTE-MĂ pentru modulul ngx http auth pam spune:
Rețineți că modulul rulează ca utilizator de server web, astfel încât modulele PAM utilizate trebuie să poată autentifica utilizatorii fără a fi root; asta înseamnă că, dacă doriți să utilizați modulul pam_unix.so pentru a autentifica utilizatorii, trebuie să lăsați utilizatorul serverului web să citească fișierul /etc/shadow dacă acest lucru nu vă sperie (pe sisteme precum Debian puteți adăuga www-data). utilizator la grupul umbră).
Prima mea întrebare este că în acest caz este „nginx” utilizatorul serverului web? A doua mea întrebare este cum pot seta permisiunile pentru utilizatorul serverului web de a citi fișierul /etc/shadow? Poate cineva să-mi ofere, vă rog, pași care au funcționat pentru ei. Am urmat multe tutoriale pe care le-am găsit online, dar fără succes. În prezent, când accesez site-ul la care vreau să se poată conecta un utilizator Linux local, primesc o solicitare de autentificare (pentru a introduce numele de utilizator și parola), dar când introduc datele de conectare ale unui utilizator Linux local, nu reușește și doar îmi cere să îl introduc din nou.
Vă mulțumesc, orice ajutor este apreciat și vă pot oferi mai multe informații dacă este necesar.
Editați | ×:
Am configurat PAM în nginx, construind mai întâi nginx de la sursă folosind pașii Aici. În fișierul meu nginx.conf am adăugat următoarea linie spre partea de sus pentru a include modulul PAM...
load_module /etc/nginx/modules/ngx_http_auth_pam_module.so;
De asemenea, am inclus cele două linii de mai jos în directiva mea de locație în nginx.conf...
auth_pam „Zona securizată”;
auth_pam_service_name "nginx";
În directorul „/etc/pam.d” pentru fișierul de serviciu nginx am următoarele două rânduri...
auth required /usr/lib/security/pam_unix.so
cont este necesar /usr/lib/security/pam_unix.so
Privind la CITEȘTE-MĂ pentru modulul ngx http auth pam văd că ar trebui să dau utilizatorului serverului web permisiunea de citire pentru fișierul /etc/shadow. Pentru a face acest lucru, am creat mai întâi un nou grup numit „umbră”. Apoi am atribuit utilizatorul serverului web (care presupun că este nginx) grupului „umbră”. Apoi am schimbat permisiunile pentru fișierul /etc/shadow. Comenzile pe care le-am executat pentru a face acest lucru sunt mai jos...
grupadaugă umbră
usermod -a -G shadow nginx
chown root:shadow /etc/shadow
chmod g+r /etc/shadow
După ce am făcut acest lucru, am verificat permisiunile pentru fișierul /etc/shadow folosind comanda
ls -l /etc/shadow
și asta a fost rezultatul...
----r-----. 1 umbră rădăcină 1390 30 august 12:51 /etc/shadow
Am setat și o parolă pentru utilizatorul nginx. Și doar ca să reiterez, la accesarea site-ului că vreau să am autentificare, când introduc numele de utilizator și parola nginx, îmi cere din nou să le introduc.