Utilizatori și grupuri Linux

dacă sunteți nou în Linux / Unix, atunci conceptul de permisiuni poate fi confuz. Acest ghid vă oferă o explicație a permisiunilor, a modului în care funcționează și a modului de gestionare a acestora. O serie de exemple sunt furnizate pentru a ilustra modul de setare și modificare a permisiunilor atât pentru utilizatori, cât și pentru grupuri.,

Ce sunt Linux Permisiuni Utilizator și Grup?

sistemele de operare Linux / Unix au capacitatea de a multitask într-un mod similar cu alte sisteme de operare. Cu toate acestea, diferența majoră a Linux față de alte sisteme de operare este capacitatea sa de a avea mai mulți utilizatori., Linux a fost conceput pentru a permite mai multor utilizatori să aibă acces la sistem în același timp. Pentru ca acest design multiuser să funcționeze corect, trebuie să existe o metodă de a proteja utilizatorii unul de celălalt. Aici intră permisiunile pentru a juca.

Citește, scrie, & executa permisiuni

permisiunile sunt” drepturile ” de a acționa pe un fișier sau director. Drepturile de bază sunt citite, scrise și executate.

  • Read: o permisiune care poate fi citită permite vizualizarea conținutului fișierului., O permisiune de citire pe un director vă permite să listați conținutul unui director.
  • scrie: o permisiune de scriere pe un fișier vă permite să modificați conținutul acelui fișier. Pentru un director, permisiunea de scriere vă permite să editați conținutul unui director (de exemplu, adăugați/ștergeți fișiere).
  • Execute: pentru un fișier, permisiunea executabilă vă permite să rulați fișierul și să executați un program sau un script. Pentru un director, permisiunea de executare vă permite să schimbați la un alt director și să-l directorul curent de lucru., Utilizatorii au de obicei un grup implicit, dar pot aparține mai multor grupuri suplimentare.

vizualizarea permisiunilor fișierelor

pentru a vizualiza permisiunile dintr-un fișier sau director, emiteți comanda ls -l <directory/file>. Nu uitați să înlocuiți informațiile din <directory/file> cu numele fișierului sau directorului real. Mai jos este o mostră de ieșire pentru ls command:

 -rw-r--r-- 1 root root 1031 Nov 18 09:22 /etc/passwd

primele zece caractere arată permisiunile de acces., Prima cratimă (-) indică tipul de fișier (d pentru director, s pentru fișier special, și - pentru un fișier obișnuit). Următoarele trei caractere (rw-) definesc permisiunea proprietarului pentru fișier. În acest exemplu, proprietarul fișierului are doar permisiuni de citire și scriere. Următoarele trei caractere (r--) sunt permisiunile pentru membrii aceluiași grup ca proprietarul fișierului (care în acest exemplu este doar citit)., Ultimele trei caractere (r--) arată permisiunile pentru toți ceilalți utilizatori și în acest exemplu este doar citit.

lucrul cu grupuri Linux, utilizatori și directoare

următoarele secțiuni trec peste grupuri Linux și comenzile necesare pentru a crea, șterge și modifica conturile de utilizator. Comenzile pentru crearea și ștergerea directoarelor sunt acoperite, de asemenea.

grupuri primare Linux

un grup primar este grupul implicit căruia îi aparține un cont de utilizator. Fiecare utilizator de pe Linux aparține unui grup primar., Grupul principal al unui utilizator este de obicei grupul care este înregistrat în fișierul /etc/passwd al sistemului Linux. Când un utilizator Linux se conectează la sistemul lor, grupul principal este de obicei grupul implicit asociat contului conectat.

puteți găsi ID-ul grupului principal al unui utilizator vizualizând conținutul fișierului /etc/passwd al sistemului dvs.

 cat /etc/passwd

a patra coloană conține ID-ul grupului principal al fiecărui utilizator., În exemplul de ieșire, grupul primar de IDENTITATE pentru example_user este 1001:

 postfix:x:106:113::/var/spool/postfix:/usr/sbin/nologinexample_user:x:1000:1001:,,,:/home/example_user:/bin/bash

de asemenea, puteți găsi o principală a utilizatorului informații de grup folosind id comandă. Înlocuiți example_user cu unul dintre utilizatorii propriului sistem.

id example_user

ieșire seamănă exemplu, care afișează grupul primar ca example_group.,

 uid=1000(example_user) gid=1001(example_group) groups=1001(example_group),27(sudo)

Dacă doriți un mod mai puțin detaliat de ieșire care doar arată grup primar numele, executați următoarea comandă:

id -gn example_user

ieșire în acest caz este următorul:

example_group

Linux Grupuri Secundare

Odată ce un utilizator a fost creat cu grup primar, ele pot fi adăugate la grupuri secundare. Utilizatorii sistemului Linux pot avea maximum 15 grupuri secundare. Grupurile unui sistem Linux sunt stocate în fișierul /etc/group.,

Pentru a găsi grupul(s) un utilizator aparține, executați următoarea comandă:

groups example_user

exemplu de ieșire afișează un utilizator primar și secundar grup(uri):

example_user : example_group sudo

Pentru a adăuga un utilizator la un grup secundar folosi exemplu de comandă. Înlocuiți second_example_groupcu numele grupului și example_user cu numele utilizatorului pentru a adăuga la grup.

sudo usermod -a -G second_example_group example_user

de asemenea, puteți adăuga un utilizator la mai multe grupuri., Exemplu de comandă adaugă utilizator example_user pentru grupuri second_example_group, third_example_group și fourth_example_group. Opțiunile -ași -G asigură că utilizatorul nu este eliminat din niciun grup din care utilizatorul aparține deja.

sudo usermod -a -G second_example_group,third_example_group,fourth_example_group example_user

care este diferența dintre grupurile primare și secundare din Linux?

un grup primar este grupul din care face parte un utilizator în mod implicit. Fiecare utilizator trebuie să aparțină unui grup primar și un utilizator poate aparține unui singur grup primar., Orice directoare sau fișiere noi create de un utilizator sunt asociate automat cu grupul principal al unui utilizator.un grup secundar este un grup la care este adăugat un utilizator după crearea contului de utilizator. Un utilizator poate aparține la zero sau mai multe grupuri secundare.

crearea și ștergerea conturilor de utilizator

pentru a crea un nou utilizator standard, utilizați comanda useradd., Sintaxa este următoarea:

useradd <name>

comanda useradd utilizeaza o varietate de variabile, dintre care unele sunt prezentate în tabelul de mai jos:

Ai nevoie pentru a seta o parola pentru noul utilizator, cu ajutorul passwd comandă. Notă, aveți nevoie de privilegii root pentru a schimba o parolă de utilizator. Sintaxa este următoarea:

passwd <username>

utilizatorul poate schimba parola în orice moment folosind comanda passwd cu sintaxa., Mai jos este un exemplu:

$ passwdChanging password for lmartin.(current) UNIX password:Enter new UNIX password:Retype new UNIX password:passwd: password updated successfully

Nu este un alt mod de a crea conturi de utilizator care ar putea fi mai ușor pentru prima dată administratori. Cu toate acestea, poate fi necesar să instalați un pachet nou. Comanda de instalare Pentru Debian/Ubuntu este următoarea:

apt-get install adduser

comanda adduser creează automat un director de acasă și stabilește grupul implicit, shell etc., Pentru a crea un nou utilizator standard cu adduser comanda sintaxa este după cum urmează:

adduser <name>

Odată ce introduceți comanda vei primi o serie de solicitări, cele mai multe dintre aceste informații este opțională. Cu toate acestea, ar trebui să includeți cel puțin numele utilizatorului (pentru acest exemplu, numele de utilizator este cjones) și o parolă.este important să rețineți că securitatea trebuie luată întotdeauna foarte în serios. Prin urmare, este recomandat să utilizați parole unice pentru fiecare cont. Nu distribuiți și nu dați niciodată parola altor utilizatori.,pentru a elimina un cont de utilizator, introduceți următoarea comandă:

userdel <name>

emiterea comenzii de mai sus șterge doar contul Utilizatorului. Fișierele și directorul de acasă nu sunt șterse.

Pentru a elimina utilizator, casa lor dosar, și fișiere, utilizați această comandă:

userdel -r <name>

Înțelegerea Sudo Linux Grup și Utilizator

root este super utilizator și are capacitatea de a face ceva pe un sistem., Prin urmare, pentru a avea un strat suplimentar de securitate, un utilizator sudo este utilizat în general în locul rădăcinii. În timp ce sudo este folosit pentru a da un alt utilizator cu acces limitat la un alt cont de utilizator pentru a îndeplini sarcini (în cele mai multe cazuri root utilizatorul sau superuser), sudo poate fi cel mai bine explicate ca un instrument care permite utilizatorilor și a grupurilor de a avea acces la comenzi au, în mod normal, nu ar fi capabil de a utiliza., sudo permite unui utilizator să aibă privilegii de administrare fără a se conecta direct ca root. Un eșantion de sudo comanda este după cum urmează:

sudo apt-get install <package>

Înainte de a utiliza sudo, ar putea avea nevoie pentru a fi instalat, dacă nu este parte din distribuție., Comanda pentru Debian este după cum urmează:

apt-get install sudo

Pentru CentOS, comanda este după cum urmează:

yum install sudo

În scopul de a oferi un utilizator cu sudo capacitatea, ei au nevoie să fie adăugate la un sudo activat grup, sau numele de utilizator trebuie să fie adăugate la sudoers fișier cu un set de permisiuni. Acest fișier este sensibil și important ca control de acces și securitate și nu trebuie editat direct cu un editor de text., În cazul în care fișierul sudoers este editat incorect ar putea duce la prevenirea accesului la sistem sau alte modificări de permisiune neintenționate.

Nota

Pentru instrucțiuni privind adăugarea unui utilizator la un default sudo activat grup, a se vedea ourHow pentru a Asigura ghidul de Server

visudo command ar trebui să fie folosit pentru a edita sudoers fișier. La o linie de comandă, conectați în sistemul dvs. ca root și introduceți comanda visudo.,

următoarele sudoers extras permite enumerate utilizatorilor să execute orice comanda ar dori prin prefixarea cu sudo, care oferă utilizatorului un control complet al unui sistem.

Atenție

Utilizatorii nu ar trebui să fie adăugate la sudoers fișier sau grup cu permisiunea completă dacă nu sunt de încredere. Opțional, puteți restricționa ceea ce pot face utilizatorii cu sudo ca un strat suplimentar de securitate; se referă la theWhitelisting Comenzi Cu Sudo pentru unele exemple de utilizare restricționată de sintaxă.,

după ce ați acordat privilegii sudo contului dvs. de utilizator, Salvați fișierul sudoers și deconectați-vă ca root. Acum conectați-vă ca utilizator și testați privilegiile ca utilizator cu acces sudo., Când un nou utilizator are nevoie de sudo acces, ai acum posibilitatea de a edita sudoers fișier cu propriile autentificare folosind următoarea comandă:

sudo visudo

Whitelisting Comenzi Cu Sudo

În multe cazuri, în timp ce vă doriți ca utilizatorii să aibă crescute sudo permisiuni, tu de asemenea, doresc să urmeze principiul celui mai mic privilegiu și grant sudo utilizatorilor acces doar la comenzile de care au nevoie., În următorul exemplu, sudoers fișier a fost editat pentru a limita sudo utilizare la câteva clar definite comenzi:

în Timp ce rădăcină și sudousername utilizatorii au încă plin de permisiuni de superutilizator, utilizatorul username a fost limitată la numai top și apt-get comenzi ca un utilizator sudo. În plus, toți utilizatorii adaugă sudo grup separat sunt limitate doar la less, ls și apt comenzi cu sudo permisiuni., Dacă ai vrut pentru a oferi utilizatorului username sudo acces suplimentare 3 comenzi pe lista albă pentru sudo grup, ai nevoie doar pentru a le adăuga la sudo grup și le-ar păstra propriile permisiuni unice, oferindu-le sudo acces la un total de 5 comenzi. Acest proces poate fi repetat pentru cât mai mulți utilizatori și grupuri, după cum este necesar.

Nota

Când whitelisting comenzi individuale folosind sintaxa de mai sus, este important să se utilizeze calea absolută la comanda., which comandă poate fi folosit pentru a găsi această cale absolută:

which command-name

de Lucru cu Grupuri

Linux folosește grupuri ca o modalitate de a organiza utilizatorii. Grupurile organizează colecții de conturi, în primul rând ca măsură de securitate. Controlul calității de membru al grupului este administrat prin fișierul /etc/group, care arată o listă de grupuri și membrii săi. Fiecare utilizator are un grup implicit sau Primar. Când un utilizator se conectează, calitatea de membru al grupului este setată pentru grupul principal., Aceasta înseamnă că atunci când un utilizator lansează un program sau creează un fișier, atât fișierul, cât și programul care rulează sunt asociate cu calitatea de membru al grupului curent al utilizatorului. Un utilizator poate accesa alte fișiere din alte grupuri, atât timp cât este membru al acelui grup și permisiunile de acces sunt setate. Pentru a rula programe sau a crea un fișier într-un alt grup, utilizatorul trebuie să ruleze comanda newgrp pentru a schimba grupul curent., Un eșantion de comanda newgrp este după cum urmează:

$ newgrp <marketing>

în Cazul în care utilizatorul intră în sus-menționate comanda este un membru al grupului marketing în /etc/group fișier, apoi grupul curent de membru modificări. Este important să rețineți că orice fișiere create sunt acum asociate cu grupul de marketing, mai degrabă decât grupul principal al utilizatorului.,

Crearea și Eliminarea Directoare

Pentru a face un director se foloseste comanda:

mkdir <directory name>

Pentru a face un director și setați permisiunile în același timp, utilizați următoarea opțiune și sintaxa:

mkdir -m a=rwx <directory name>

opțiunea-m este prescurtarea de la modul, și a=rwx înseamnă că toți utilizatorii trebuie să citească, să scrie, și permisiuni de executare pe director. Pentru a vedea o listă completă a tuturor opțiunilor pentru comanda mkdir introduceți man mkdir la un prompt de comandă.,

Pentru a șterge un fișier, utilizați următoarea:

rm <file>

Pentru a elimina un director:

rm -r <directory name>

este important să rețineți că, dacă ștergeți un director toate fișierele în interiorul sunt, de asemenea, șterse.

schimbarea permisiunilor de director și fișiere

pentru a vizualiza permisiunile de fișiere și proprietatea asupra fișierelor și directoarelor, utilizați comanda ls -al. Opțiunea a este de a afișa fișiere ascunse sau toate fișierele, iar opțiunea l este pentru lista lungă., Ieșirea este similară cu următoarele:

prima coloană cu cele zece litere și liniuțe arată permisiunile fișierului sau directorului. A doua coloană (cu numărul unic) indică numărul de fișiere sau directoare conținute în director. Următoarea coloană indică proprietarul, urmată de numele grupului, dimensiunea, data și ora ultimului acces și, în final, numele fișierului ., De exemplu, folosind prima linie de ieșire de mai sus, detaliile sunt după cum urmează:

Nota

Când un director în sine este un fișier, orice director de spectacole 4096 ca e dimensiunea. Aceasta nu reflectă dimensiunea conținutului directorului.

Chmod Comanda

comanda chmod este scurt pentru a schimba modul. Chmod este folosit pentru a schimba permisiunile pe fișiere și directoare., Comanda chmod poate fi utilizată fie cu litere, fie cu numere (cunoscute și ca octal) pentru a seta permisiunile.,/td>

u Curent de permisiunile fișierului are pentru proprietar g Curent permisiunile de fișiere pentru a utilizatorilor în același grup o Curent de permisiunile fișierului are pentru alții, nu în grup

Este important să ne amintim că primul caracter din prima coloană a unui fișier listă indică dacă este un director sau un fișier., Celelalte nouă caractere sunt permisiunile pentru fișierul / directorul. Primele trei caractere sunt pentru utilizator, următoarele trei sunt pentru grup, iar ultimele trei sunt pentru alții. De exemplu drwxrw-r– este defalcat după cum urmează:

d este un director

rwx utilizatorul a citi, a scrie, și permisiuni de executare

rw – grupul a citi și a scrie permisiuni

r– toți ceilalți au citit doar permisiuni

Rețineți că dash (-) indică permisiunile sunt eliminate., Prin urmare, cu grupul” toate celelalte”, r– se traduce numai pentru permisiunea de citire, permisiunile de scriere și executare au fost eliminate.

în Schimb, semnul plus (+) este echivalentă cu acordarea de permisiuni: chmod u+r,g+x <filename>

exemplul De mai sus se traduce după cum urmează:

u is for userr is for readg is for groupx is for execute

cu alte cuvinte, utilizatorul a fost dat permisiunea de a citi și de grup a fost dat permisiunea de a executa pentru fișier. Notă, atunci când setați mai multe permisiuni pentru un set, este necesară o virgulă între seturi.,

format Octal Chmod

pentru a utiliza formatul octal, trebuie să calculați permisiunile pentru fiecare porțiune a fișierului sau a directorului. Primele zece caractere menționate mai sus corespund unui număr de patru cifre în octal. Permisiunea de executare este egală cu numărul unu (1), permisiunea de scriere este egală cu numărul doi (2), iar permisiunea de citire este egală cu numărul patru (4). Prin urmare, atunci când utilizați formatul octal, trebuie să calculați un număr între 0 și 7 pentru fiecare porțiune a permisiunii. Un tabel a fost furnizat mai jos pentru clarificare.,

Deși format octal poate părea greu de înțeles, este ușor de utilizat, odată ce ați înțeles esența. Cu toate acestea, setarea permisiunilor cu r, w și x poate fi mai ușoară. Mai jos sunt exemple de utilizare a literelor și a formatului octal pentru a seta permisiunile pe un fișier sau director.,

Exemplu de sintaxă: chmod <octal or letters> <file/directory name>

Litera format: chmod go-rwx Work (Nega rwx permisiunea pentru grupul a și altele)

ieșire de ls-al, după chmod comanda de mai sus va arata după cum urmează:

dr-------- 2 user user 4096 Dec 17 14:38 Work

Octal format: chmod 444 Work

ieșire de ls-al, după chmod comanda de mai sus ar arăta după cum urmează:

dr--r--r-- 2 user user 4096 Dec 17 14:38 Work

octal tabel numeric echivalent pentru permisiuni este furnizat de mai jos.,

Suplimentare de Fișiere Permisiuni

În plus față de cele mai frecvente de citire/scriere/executare permisiunile de fișiere, există unele moduri suplimentare pe care ați putea găsi utile, în special +t modul (sticky bit) și +modul s (setuid bit). Aceste funcții descriu comportamentul fișierelor și executabilelor în situații cu mai mulți utilizatori.,

când este setat pe un director, modul sticky bit sau + t înseamnă că numai proprietarul (sau rădăcina) poate șterge sau redenumi fișierele din acel director, indiferent de utilizatorii care au acces la scriere în director prin apartenență la grup sau proprietate. Acest lucru este util atunci când un director este deținut de un grup prin care un număr de utilizatori împărtășesc accesul la scriere la un anumit set de fișiere.,

este important să rețineți că setarea sticky bit pe un fișier nu împiedică un utilizator cu permisiuni de scriere pentru inchiderea director la ștergerea sau redenumirea fișierului—sticky bit trebuie să fie stabilite pe anexând director. Bitul lipicios nu are nicio funcție pe sistemele Linux moderne atunci când este setat pe fișiere.

Pentru a seta sticky bit pe un director numit /root/sticky, emite următoarea comandă:

chmod +t /root/sticky

Pentru a elimina sticky bit dintr-un fișier sau director, utilizați chmod -t comandă., Notă, pentru a schimba bit lipicios, trebuie să fie rădăcină sau proprietarul fișier/director. Utilizatorul rădăcină poate șterge directoarele și fișierele din ele, indiferent de starea bitului lipicios.

bit setuid, sau + s, atunci când este setat pe fișiere permite utilizatorilor cu permisiuni pentru a executa un anumit fișier capacitatea de a rula acel fișier cu permisiunile de proprietar de fișier., De exemplu, dacă fișierul work a fost deținută de către root utilizator și marketing grup, membrii marketing grupul ar putea rula work program ca și cum ar fi root. Acest lucru poate prezenta riscuri potențiale de securitate în unele cazuri, iar executabilele ar trebui evaluate în mod corespunzător înainte de a primi steagul +s., Pentru a seta +s bit pe un fișier numit /usr/bin/work, emite următoarea comandă:

chmod g+s /usr/bin/work

În contrast cu +s modul de dreptul de proprietate asupra unui fișier, efectul +e modul în care un director este oarecum diferită. Fișierele create în directoarele + s primesc proprietatea utilizatorului și grupului directorului respectiv, mai degrabă decât proprietatea utilizatorului care a creat fișierul și grupul lor implicit., Pentru a seta setguid (group id) opțiune pe un director, utilizați următoarea comandă:

chmod g+s /var/doc-store/

Pentru a seta setuid (id de utilizator) pentru un director numit /var/doc-store, emite următoarea comandă:

chmod u+s /var/doc-store/

Schimbarea Proprietate Fișier

în mod implicit, toate fișierele sunt „proprietatea” de către utilizatorul care le creează și de care prestabilit de utilizator grup. Pentru a schimba proprietatea unui fișier, utilizați comanda chownîn formatul chown user:group /path/to/file. În exemplul următor, proprietatea ” listă.,html” fișier este schimbat la „cjones” utilizator în „marketing” grupa:

chown cjones:marketing list.html

Pentru a schimba dreptul de proprietate asupra unui director și toate fișierele conținute în interior, utilizați opțiunea recursiv cu -R pavilion. În următorul exemplu, schimba dreptul de proprietate asupra /srv/smb/leadership/ la „cjones” utilizator în „marketing” grupa:

chown -R cjones:marketing /srv/smb/leadership/

Pârghie Utilizatorii de Linux și Grupuri

În multe cazuri, permisiuni de utilizator sunt folosite pentru a furniza sistemul dvs. cu o mai mare siguranță, fără nici o interacțiune directă., Multe sisteme de operare creează conturi de utilizator specifice sistemului pentru diferite pachete în timpul procesului de instalare.

cea mai bună practică este să oferiți fiecărui utilizator propria autentificare în sistemul dvs. Aceasta protejează fișierele fiecărui utilizator de toți ceilalți utilizatori. În plus, utilizarea conturilor specifice pentru utilizatori permite înregistrarea mai precisă a sistemului, în special atunci când este combinată cu instrumente precum sudo. Recomandăm evitarea situațiilor în care mai mult de o persoană cunoaște parola pentru un cont de utilizator pentru o securitate maximă.,în schimb, grupurile sunt utile pentru a permite mai multor conturi de utilizator independente să colaboreze și să partajeze fișiere. Dacă creați grupuri pe o mașină pentru sarcini comune pe bază de sarcină (de exemplu, editori web, contribuitori, transmițători de conținut, asistență) și adăugați utilizatori relevanți la grupurile relevante, acești utilizatori pot edita și rula același set de fișiere fără a partaja aceste fișiere cu lumea. Utilizarea comenzii chown cu permisiuni de fișiere de 770 și 740 ar ajuta la atingerea acestui obiectiv.

Author: admin

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *