Learning linux, 302 (medii mixte) care gestionează conturile utilizatorilor și grupurilor

Planificarea unui cont de utilizator și a unui sistem de management al grupului

Dacă ați lucrat cu conturi de utilizatori și grupuri, știți probabil că în medii mixte, utilizarea lor nu merge întotdeauna ușor pentru utilizatori, ceea ce reprezintă o sursă tipică de probleme atât pentru utilizatori, cât și pentru administratorii de sistem. Din fericire, Samba include instrumente care ajută la gestionarea acestui proces. Din acest articol, veți învăța cum să gestionați conturile utilizatorilor și grupurilor într-un mediu mixt.







Tracey Bost. Consultant și profesor, Scriitor liber

Despre această serie

Această serie de articole vă va ajuta să stăpâniți sarcinile de administrare a sistemului de operare Linux. Puteți folosi materialele acestor articole pentru a vă pregăti pentru examenele programului LPIC de nivelul al treilea (LPIC-3).

Acest articol acoperă următoarele subiecte:

  • Conturi UNIX.
  • Gestionarea conturilor Samba.
  • Maparea contului.
  • Activați instalarea permisiunilor pentru fișiere și directoare pentru conturi.

Cerințe preliminare

Pentru a profita la maximum de articolele noastre, trebuie să aveți cunoștințe avansate despre Linux și să aveți un calculator de lucru cu Linux, unde puteți rula toate comenzile pe care le întâlniți. În special, se presupune că cititorul știe cum să lucreze cu linia de comandă Linux și în termeni generali înțelege scopul lui Samba (așa cum se explică în articolul precedent "Learning Linux, 302: Principles Basic"). Pentru a rula exemplele acestui articol, trebuie să aveți software-ul Samba instalat pe computer și trebuie să aveți acces la un client de rețea care rulează Windows.

Înțelegerea conturilor utilizatorilor și grupurilor UNIX

Despre examenul opțional LPI-302

La fel ca multe alte programe, programul de certificare a Institutului Profesional Linux (LPIC) oferă diferite niveluri de certificare, în care este necesar să existe cunoștințe aprofundate și experiență practică pentru a obține fiecare nivel ulterior. Examenul LPI-302 este un examen opțional LPIC de nivel III care necesită cunoștințe avansate de administrare a sistemului Linux.

Pentru a obține certificatul LPIC-3, trebuie să treceți cu succes două examene de nivel 1 (101 și 102), două examene de nivel secundar (201 și 202) și un examen de bază de nivel 330 (LPIC-3). Dacă ați primit un certificat de nivel 3, puteți efectua examenele opționale pentru anumite specializări, de exemplu examenul LPI-302.

Serverul dvs. Samba nu există de la sine. Utilizatorii ar trebui să acceseze fișiere și directoare, dar înainte de a putea face acest lucru, trebuie să fie autentificate. Utilizatorii se pot conecta de la stațiile de lucru care rulează atât Linux, cât și Windows. În orice caz, fiecare utilizator trebuie să aibă un cont pe care serverul Samba îl poate recunoaște.

După ce utilizatorul a fost autentificat, trebuie să aibă drepturi de acces la fișiere, directoare și servicii de imprimare. Grupurile sunt una dintre componentele Samba acceptate, ceea ce vă permite să gestionați mai eficient aceste permisiuni.

Baza de date internă SAM este mediatorul dintre conturile locale UNIX și conturile de la distanță. Există mai multe metode care permit utilizatorilor să se autentifice la serverul Samba, dar înainte de a trece la luarea în considerare a conturilor Samba, trebuie să înțelegeți cu fermitate elementele de bază ale gestionării conturilor de utilizator și de grup pe UNIX.

Conturi de utilizator

Listing 1. Crearea unui cont local

Fiecare linie din fișierul / etc / passwd conține un cont și conține șapte câmpuri, separate prin coloane (.). Trei domenii sunt de interes pentru gestionarea conturilor Samba: primul (user name), al treilea (ID utilizator, UID) și al patrulea (ID-ul grupului, GID).

Conturi de grup

Conturile de grup joacă un rol important, simplificând administrarea computerelor cu mai mulți utilizatori. Dacă gestionați un server Samba, sarcina tipică este de a atribui drepturi de acces anumitor fișiere, directoare și imprimante la grupuri.

La fel ca în cazul conturilor de utilizator, dacă lucrați cu o configurație locală a conturilor Samba, în majoritatea cazurilor trebuie să creați conturi de grup UNIX pe serverul Samba local. Informațiile despre conturile de grup UNIX sunt stocate în fișierul / etc / group. În unele distribuții Linux este creat un grup privat local pentru fiecare utilizator nou. Acesta este cazul cu utilizatorul monty.

Listing 2. Crearea unui grup și adăugarea unui utilizator la acesta

Pentru a crea un grup și a adăuga utilizatorul la acesta în listare 2, utilizați comenzile / sbin / groupadd și / sbin / usermod. Dacă doriți să adăugați mai mulți utilizatori în grup, puteți să creați un script sau să adăugați utilizatori direct în fișierul / etc / group. Membrii grupului trebuie să fie listați în ultimul câmp și separați prin virgule (.). Dacă creați grupuri manual, nu uitați că fiecare grup trebuie să aibă un identificator unic (GID).

Gestionarea conturilor Samba

În configurația standard Samba, informațiile despre cont sunt stocate într-una din următoarele baze de date interne de parole:

Folosind smbpasswd și tdbsam

Baza de date smbpasswd este utilizată implicit în toate versiunile de Samba de mai jos 3.4. În versiunea 3.4 a versiunii Samba, smbpasswd a fost declarat învechit, iar baza de date tdbsam este folosită în schimb (această bază de date este, de asemenea, recomandată pentru medii cu mai puțin de 250 de utilizatori).







Baza de date tdbsam este considerată a fi mai scalabilă decât smbpasswd. Dacă lucrați cu versiunea Samba, care implicit utilizează smbpasswd, puteți înlocui această bază de date cu tdbsam specificând parametrul passdb = tdbsam în secțiunea globală din fișierul smb.conf.

Cu toate acestea, smbpasswd nu este doar o bază de date, ci și un instrument din pachetul Samba care vă permite să gestionați conturile Samba în configurații simple. Pentru a crea un cont Samba, trebuie să aveți drepturi de utilizator root. Înainte de a crea un cont Samba, trebuie să existe pe serverul local Linux. Listarea 3 arată un exemplu de creare a unui cont de utilizator Samba utilizând smbpasswd.

Listing 3. Crearea unui cont de utilizator Samba cu smbpasswd

Utilizatorii pot folosi smbpasswd pentru a-și schimba parolele, așa cum se arată în Lista 4.

Listarea 4. Un utilizator local își poate schimba parola folosind smbpasswd

De asemenea, puteți configura Samba să sincronizeze parolele astfel încât ori de câte ori utilizatorul modifică parola contului lor local, parola Samba este de asemenea actualizată:

Dacă de ceva timp utilizatorul nu are nevoie de acces la serverul Samba, puteți dezactiva temporar contul și îl puteți porni mai târziu. Dacă utilizatorul nu are nevoie de acces la Samba, atunci contul său poate fi șters. Lista 5 arată cum se face acest lucru.

Afișarea 5. Dezactivarea, activarea și eliminarea unui cont Samba utilizând smbpasswd

Folosind pdbedit

Ca parte a lui Samba există un instrument multifuncțional numit pdbedit. Acest instrument poate funcționa cu conturi stocate în oricare dintre cele trei baze de date menționate mai sus. În plus față de crearea, modificarea și ștergerea utilizatorilor, pdbedit vă permite să efectuați următoarele acțiuni:

  • Afișați lista de conturi de utilizator.
  • Specificați directoarele de acasă.
  • Importați conturi de utilizator.
  • Atribuiți politicile contului.

Când lucrați cu o bază de date, tdbsam poate fi folosit ca pdbedit. și smbpasswd (Listing 6). Pentru a rula toate comenzile pdbedit, trebuie să aveți drepturi de utilizator root.

Listare 6. Efectuați diferite acțiuni cu baza de date internă folosind smbpasswd și pdbedit

Lista 6 arată modul în care puteți crea un utilizator cu smbpasswd. și apoi afișați lista utilizatorilor Samba folosind pdbedit.

Creați propriul canal

Utilitarul pdbedit poate fi, de asemenea, utilizat pentru a seta politicile contului. Următoarele sunt numele politicilor pe care le puteți gestiona:

  • min lungime parolă
  • istoricul parolelor
  • utilizatorul trebuie să se conecteze pentru a schimba parola (necesită schimbarea parolei la următoarea conectare)
  • vârsta maximă a parolei (vârsta maximă a parolei)
  • vârsta minimă a parolei (vârsta minimă a parolei)
  • timpul de blocare (timpul de blocare la conectarea nereușită)
  • resetați numărul de minute (resetați minutele de blocare a contului)
  • încercare de blocare greșită (blocare la conectare nereușită)
  • deconectați timpul
  • refuză modificarea parolei mașinii

În listare 7, setăm lungimea minimă a parolei la opt caractere și apoi setăm o perioadă maximă de parole de 30 de zile. Opțiunea -P are un argument string care se potrivește exact cu numele uneia dintre politicile de mai sus, iar opțiunea -c stabilește valoarea pentru politica selectată.

Listare 7. Gestionarea conturilor folosind pdbedit

Pentru mai multe informații despre comenzile disponibile pentru utilitarul pdbedit, consultați pagina man sau rulați comanda pdbedit -h.

Folosind ldapsam

Dacă mediul dvs. conține mai mult de 250 de utilizatori, puteți utiliza baza de date internă ldapsam. Dintre cele trei baze de date listate mai sus, numai ldapsam poate stoca date despre conturile de grup. Dacă toate informațiile despre utilizatori și grupuri sunt stocate în baza de date internă ldap, ID-urile utilizatorilor și grupurilor (UID și respectiv GID) vor fi consecvente între toate serverele. Deoarece configurația LDAP depășește domeniul de aplicare al acestui articol, mă voi limita la informația că locația serverului LDAP este determinată de parametrul back-end idmap din fișierul smb.conf.

Exemplul următor idmap parametru backend spune Samba ca, stocarea acreditărilor este de a utiliza serviciul de director LDAP care rulează pe nodul numit directory-services.example.org. În acest caz, trebuie să aveți un server de lucru LDAP preconfigurat pentru a lucra cu Samba (pentru mai multe detalii utilitarul idmap va fi discutat în secțiunea următoare).

Cartografierea contului

Dacă serverul dvs. Samba este un server obișnuit al aceluiași domeniu, probabil că veți folosi fișierele de cartografiere. Cu toate acestea, dacă există utilizatori în mediul dvs. care se conectează la serverul Samba dintr-un alt domeniu, atunci utilitarul idmap ajută la corectarea ID-urilor utilizatorilor și grupurilor.

Se potrivesc utilizatorii cu fișierele sampasswd și TDB

Tabelul 1. Conturile Windows și UNIX pentru cartografiere

Când creați conturi Samba, utilizați numele contului Windows. În fișierul smb.conf, puteți specifica locația fișierului care conține mapările conturilor cu conturile UNIX corespunzătoare. Lista 8 prezintă maparea conturilor în UNIX.

Listing 8. Cartografierea simplă a conturilor pe UNIX

Comanda din Lista 8 stabilește parametrul hărții de nume de utilizator pentru a folosi fișierul / etc / samba / smbusers ca fișier de mapare. Procedura de potrivire a conturilor este destul de simplă: în partea stângă sunt conturile UNIX, în dreapta sunt conturile Samba, iar un semnal egal (=) este plasat între ele. Atunci când un utilizator se conectează, Samba efectuează o potrivire a contului corespunzător.

Mapping Groups

Într-un mediu tipic Samba, maparea grupului este configurată utilizând comanda grupmap de la Samba. Să presupunem că utilizatorii Monty, bostt și sue.george sunt membri ai grupurilor Domain Admins, Domain Users și Domain Guests. Dacă doriți să aveți aceleași permisiuni pentru grupurile acestor utilizatori ca și pentru grupurile UNIX de pe serverul Samba, adăugați numele de conturi de utilizator UNIX la fiecare grup:

Aceasta este doar o parte din lista de grupuri de pe serverul Samba. Grupurile adm și utilizatorii au fost create în timpul instalării sistemului de operare Linux. Trebuie să adăugați fiecare utilizator în grupul corespunzător (tabelul 2).

Tabelul 2. Conturi de grup Windows și UNIX pentru cartografiere

Comanda groupmap net poate efectua maparea grupurilor de domenii (listare 9), iar comanda list groupmap net afișează o listă a acestor mapări. Începând cu Samba versiunea 3.x, sunt disponibile noi funcționalități pentru identificarea identificatorilor relativi ai Windows (RID) și a identificatorilor de grup UNIX (GID).

Afișare 9. Maparea grupurilor utilizând comanda grupmap

Listarea 9 face următoarele pentru potrivirea grupurilor:

  1. Efectuarea groupmap net adăuga comanda ca root pentru a se potrivi Windows-Group Administratorul de domeniu (ntgroup = „Domeniul Admin„) cu grupul UNIX adm (unixgroup = adm).

Efectuați aceste acțiuni pentru a se potrivi cu fiecare grup.

  • Ultima comandă din listare 9 afișează o listă de mapări de grupuri.
  • Maparea identității

    Comparațiile considerate sunt suficiente în majoritatea mijloacelor media. Cu toate acestea, dacă gestionați un mediu mai complex, cum ar fi un mediu de server multi-samba sau stații de lucru din domenii diferite care se conectează la serverul Samba, trebuie să fiți conștienți de cartografiere a acreditărilor (IDMAP) și Winbind. IDMAP poate ajuta la rezolvarea problemelor de interoperabilitate între identificatorii de securitate Windows (SID) și identificatorii de utilizatori locali (UID) sau grupurile UNIX (GID).

    Dacă serverul Samba este membru al domeniului Windows, puteți utiliza Winbind pentru a mapa identificatorii SID și UID (sau GID). În fișierul smb.conf, puteți configura intervalul de valori pentru parametrul idmap și specificați perioada de timp în care Winbind ar trebui să cache informații despre cont:

    Alocarea forțată a conturilor implicite







    Trimiteți-le prietenilor: