Cum să utilizați comanda chown pe Linux

Fișierele și directoarele din sistemele Linux aparțin cuiva. Le puteți schimba proprietatea cu comanda chown. Vă arătăm cum.

Fiecare fișier aparține unui utilizator și unui grup

Linux este un sistem multi-utilizator. Sistemul de operare permite definirea mai multor conturi de utilizator și pentru orice utilizator valid să se conecteze la computer. Mai mult, mai mulți utilizatori pot folosi un singur computer în același timp.

Pentru a menține o evidență a fișierelor care aparțin fiecărui utilizator și pentru a impune o anumită securitate, Linux folosește conceptul de proprietate. Fiecare fișier aparține unui proprietar – unui utilizator – și unui grup.

Când un fișier este creat, proprietarul acestuia este utilizatorul care l-a creat. Grupul căruia îi aparține fișierul—grupul „proprietar”—este grupul curent al utilizatorului. Utilizatorii și grupurile au nume și au și identități numerice, numite un identificator de utilizator (sau unic) (UID) și un identificator de grup (GID).

Când creați un fișier, acesta este deținut de dvs. și aparține grupului dvs. curent. De obicei, acesta este grupul la care v-ați conectat. În mod implicit, acesta este un grup care are același nume cu numele dvs. de utilizator și a fost creat când ați fost creat ca utilizator pe sistem.

Puteți folosi comanda chown pentru a schimba valorile de proprietate în altceva. Puteți seta un nou proprietar, un nou grup sau un nou proprietar și un nou grup în același timp. Proprietarul unui fișier poate schimba proprietatea asupra grupului, dar numai root poate schimba proprietatea utilizatorului, deoarece aceasta implică un alt utilizator. Fără privilegii de root, nu puteți face un alt utilizator de pe sistem să „adopte” un fișier fără să vrea.

  Cum să joci Trine Enchanted Edition pe Linux

De ce ai vrea să schimbi calitatea de proprietar?

Iată câteva exemple de situații în care ați putea dori să faceți acest lucru:

Dacă transferați fișiere între diferite sisteme de operare Linux sau Unix, va trebui să schimbați proprietarii utilizatorului și grupului în noul utilizator și proprietarii grupului contului în care doriți să utilizați fișierele pe noul computer Linux.
Un utilizator poate părăsi organizația dvs., iar toate fișierele sale vor fi responsabilitatea unui alt membru al personalului. Va trebui să schimbați proprietarul și proprietarul grupului în membrul personalului responsabil acum de acele fișiere.
Puteți crea un script care va fi folosit de un anumit utilizator.
Puteți crea un fișier sau un director conectat ca root, dar doriți să fie accesibil unui anumit utilizator.

Vizualizarea grupurilor dvs., UID și GID

La enumerați grupurile în care vă aflați, puteți utiliza comanda grupurilor.

groups

Pentru a obține o listă a grupurilor, ID-urile lor numerice, și UID-ul și GID-ul dvs, utilizați comanda id:

id

Puteți utiliza unele opțiuni cu ID pentru a rafina rezultatul.

-u: Listați UID-ul dvs.
-g: Listați GID-ul dvs. efectiv (actual).
-nu: Listați numele dvs. de utilizator.
-ng: Afișează numele grupului tău curent.

id -u
id -g
id -nu
id -ng

Vizualizarea proprietății de utilizator și de grup asupra unui fișier

Pentru a vedea proprietarii unui fișier sau director, utilizați opțiunea -l (lista lungă) cu ls.

ls -l

Putem vedea că numele dave apare de două ori în listă. Aspectul din stânga ne spune că proprietarul fișierului este un utilizator numit dave. Dave din dreapta ne spune că fișierul aparține unui grup numit și dave.

  Cum să faci Gnome Shell ușor de utilizat pe Linux

În mod implicit, atunci când un utilizator Linux este creat, acesta este adăugat la un grup privat numit după numele de utilizator. Ei sunt singurul membru al acelui grup.

Acest fișier executabil este deținut de utilizatorul mary, iar grupul căruia îi aparține fișierul este grupul privat al lui Mary.

ls -l

Acest fișier este deținut de utilizatorul oscar, dar grupul căruia îi aparține fișierul se numește researchlab. Aceasta înseamnă că alți membri ai grupului de laborator de cercetare pot accesa acest fișier, conform permisiunilor de fișier care au fost setate pentru membrii acelui grup.

Modificarea calității de proprietar al utilizatorului

Să lucrăm prin câteva exemple. Această comandă va schimba proprietatea utilizatorului asupra fișierului while.c către utilizatorul mary.

sudo chown mary while.c

Putem folosi ls pentru a vedea modificările aduse proprietăților fișierului.

ls -l while.c

Puteți folosi chown pentru a schimba dreptul de proprietate asupra mai multor fișiere simultan.

sudo chown mary getval.c global.c goto.c

Acest lucru schimbă dreptul de proprietate al utilizatorului asupra tuturor celor trei fișiere.

ls -l getval.c global.c goto.c

Puteți utiliza metacaracterele pentru a selecta grupuri de fișiere. Această comandă va schimba proprietatea utilizatorului asupra tuturor fișierelor care încep cu litera „c”.

sudo chown mary c*.*

Toate fișierele vor avea acum pe Mary drept proprietar. Rețineți că niciuna dintre proprietățile grupului nu a fost modificată.

ls -l mary c*.*

Să schimbăm dreptul de proprietate asupra unui director. Pur și simplu trecem numele directorului către chown în loc de numele fișierului.

sudo chown mary ./archive/

Pentru a verifica proprietățile de proprietate ale directorului, folosim ls, dar folosim și opțiunea -d (director). Aceasta listează proprietățile directorului, nu fișierele din interiorul acestuia.

ls -l -d ./archive/

Pentru a schimba dreptul de proprietate asupra tuturor fișierelor dintr-un director, puteți utiliza opțiunea -R (recursivă). Această opțiune va schimba proprietatea utilizatorului asupra tuturor fișierelor din folderul arhivă.

sudo chown -R mary ./archive/

Acum să ne uităm la fișierele din directorul arhivei.

ls -l ./archive/

După cum era de așteptat, toate fișierele îi aparțin acum lui Mary.

  Cum se face o copie de rezervă a setărilor desktop LXDE pe Linux

Schimbarea proprietății grupului

Există diferite moduri de a schimba calitatea de proprietar al grupului.

Pentru a schimba calitatea de proprietar al grupului în același timp cu modificarea proprietății utilizatorului, transmiteți noul nume de proprietar și noul nume de grup cu două puncte „:” care le separă. Grupul trebuie să existe deja.

sudo chown mary:researchlab charm.c

Proprietarul utilizatorului și grupul căruia îi aparține fișierul au fost ambele modificate.

ls -l charm.c

O modalitate prescurtată de a schimba proprietatea grupului în grupul curent al noului proprietar, trebuie doar să furnizați două puncte și să omiteți numele grupului.

sudo chown mary: caps.c

ls -l caps.c

Atât calitatea de proprietar al utilizatorului, cât și cea a grupului au fost modificate în mary.

Pentru a modifica numai proprietatea grupului, precedați-l cu două puncte și omiteți numele de utilizator. Proprietarul utilizatorului nu va fi modificat.

sudo chown :researchlab at.c

ls -l at.c

Proprietatea grupului a fost schimbată, dar proprietatea utilizatorului rămâne aceeași.

Utilizarea Chown cu valorile UID și GID

Puteți utiliza valorile numerice UID și GID cu comanda chown. Această comandă va seta utilizatorul și proprietatea grupului la mary.

sudo chown 1001:1001 at.c

ls -l at.c

Posesia este nouă zecimi din lege

Sau așa spun ei. Dar în Linux, proprietatea este o parte masivă a securității fișierelor, permisiunile de fișiere oferind restul. Utilizați comenzile chown și chmod pentru a securiza accesul la fișiere pe sistemul dvs.