Puncte:0

Cum se acordă utilizatorului serverului web permisiunea de citire pentru fișierul /etc/shadow?

drapel in

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.

drapel in
Bună @Nebek Puteți rezolva și mai mult această întrebare furnizând detaliile exacte despre cum ați configurat Pam. (de ex. fișierele pe care le-ați adăugat/configurat în `/etc/pam.d/nginx*`), deoarece acest lucru ar permite să răspundeți la întrebarea de ce nu a fost oferit accesul.
Puncte:0
drapel in

Presupun că ați instalat deja nginx-module-auth-pam, precum și configurat /etc/pam.d/nginx.

Dacă nu: instalați fișierul rpm, deoarece totul va fi configurat pentru dvs. Cu alte cuvinte: nu trebuie să modificați manual /etc/shadow setări de acces. De fapt tu nu trebuie să ajustare fina /etc/shadow în cazul în care utilizați pam. Acest fișier conține parolele (hash) pentru utilizatorii dvs., așa că, în plus, nu doriți să acordați niciun proces sau program (cu excepția pam) sau utilizatorului (cu excepția root) acces la acest fișier din motive de securitate.

În cazul în care aveți un abonament:

yum -y instalează https://extras.getpagespeed.com/release-latest.rpm
yum -y instalează nginx-module-auth-pam

Dacă nu: apucă sau construiește din https://github.com/jfut/nginx-module-auth-pam-rpm

De ce să nu răspunzi doar la întrebarea ta? Deoarece exemplele pe care le-ați adus sunt pentru sisteme asemănătoare Debian, dar modul de configurare este ușor diferit pentru sistemele asemănătoare Redhat, cum ar fi CentOS 7.

Veți găsi exemple de configurare suplimentare pentru acest modul în GitHub.

Vă rugăm să verificați și https://nginx-extras.getpagespeed.com/ pentru exemple de configurare suplimentare.

Nebek avatar
drapel in
Bună, @Lutz Willek, puteți să-mi oferiți pașii despre cum să apuc și să construiesc rpm nginx-module-auth-pam și dacă mai sunt și alți pași pe care trebuie să-i fac. Mulțumesc!
drapel in
Deja furnizat în răspunsul meu. Descărcați: https://github.com/jfut/nginx-module-auth-pam-rpm/releases și Readme https://github.com/jfut/nginx-module-auth-pam-rpm/blob/master/README .md

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.