Android

Comanda Chown în linux (proprietatea fișierului)

Linux - Change owner or group of file

Linux - Change owner or group of file

Cuprins:

Anonim

Comanda chown vă permite să schimbați proprietarul utilizatorului și / sau grupului pentru un anumit fișier, director sau legătură simbolică.

În Linux, toate fișierele sunt asociate cu un proprietar și un grup și sunt atribuite cu drepturi de acces permise pentru proprietarul fișierului, membrii grupului și altele.

În acest tutorial, vă vom arăta cum să utilizați comanda chown prin exemple practice.

Cum se folosește chown

Înainte de a intra în modul de utilizare a comenzii chown , să începem prin revizuirea sintaxei de bază.

Expresiile de comandă chown iau următoarea formă:

chown USER FILE(s)

USER este numele de utilizator sau ID-ul de utilizator (UID) al noului proprietar. GROUP este numele grupului nou sau ID-ul grupului (GID). FILE(s) este numele unuia sau mai multor fișiere, directoare sau link-uri. ID-urile numerice trebuie prefixate cu simbolul + .

  • USER - Dacă este specificat doar utilizatorul, utilizatorul specificat va deveni proprietarul fișierelor date, proprietatea grupului nu este modificată. USER: - Când numele de utilizator este urmat de un punct : și numele grupului nu este dat, utilizatorul va deveni proprietarul fișierelor, iar proprietatea grupului de fișiere este schimbată în grupul de conectare al utilizatorului. USER:GROUP - Dacă atât utilizatorul, cât și grupul sunt specificate (fără spațiu dintre acestea), proprietatea utilizatorului asupra fișierelor este schimbată la utilizatorul dat, iar proprietatea grupului este schimbată în grupul dat. :GROUP - Dacă Utilizatorul este omis și grupul este prefixat cu două puncte : numai proprietatea grupului pentru fișiere este modificată la grupul dat. : Dacă este dat doar două puncte : fără a specifica utilizatorul și grupul, nu se face nicio modificare.

În mod implicit, la succes, chown nu produce nici o ieșire și returnează zero.

Folosiți comanda ls -l pentru a afla cine deține un fișier sau din ce grup aparține:

ls -l filename.txt

-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner

Doar root sau utilizator cu privilegii sudo pot modifica proprietatea grupului unui fișier.

Cum se schimbă proprietarul unui fișier

Pentru a schimba proprietarul unui fișier, utilizați comanda chown urmată de numele de utilizator al noului proprietar și de fișierul țintă ca argument:

chown USER FILE

De exemplu, următoarea comandă va schimba proprietatea unui fișier numit file1 la un nou proprietar numit linuxize :

chown linuxize file1

Pentru a schimba proprietatea mai multor fișiere sau directoare, specificați-le ca o listă separată de spațiu. Comanda de mai jos schimbă proprietatea unui fișier numit file1 și director dir1 la un nou proprietar numit linuxize :

chown linuxize file1 dir1

ID-ul de utilizator numeric (UID) poate fi utilizat în loc de nume de utilizator. Următorul exemplu va schimba proprietatea unui fișier numit file2 într-un nou proprietar cu UID de 1000 :

chown 1000 file2

Dacă un proprietar numeric există ca nume de utilizator, atunci proprietatea va fi transferată la numele de utilizator. Pentru a evita acest prefix, ID-ul cu + :

chown 1000 file2

Cum se schimbă proprietarul și grupul unui fișier

Pentru a schimba atât proprietarul, cât și grupul unui fișier, utilizați comanda chown urmată de noul proprietar și grup separat de un punct (:) fără spații interveniente și fișierul țintă.

chown USER:GROUP FILE

Următoarea comandă va schimba proprietatea unui fișier numit file1 la un nou proprietar numit linuxize și users grup:

chown linuxize:users file1

Dacă omiteți numele grupului după colon (:), grupul fișierului este schimbat în grupul de autentificare al utilizatorului specificat:

chown linuxize: file1

Cum se schimbă grupul unui fișier

Pentru a schimba doar grupul de fișier, utilizați comanda chown urmată de un punct (:) și noul nume de grup (fără spațiu între ele) și fișierul țintă ca argument:

chown:GROUP FILE

Următoarea comandă va schimba grupul de proprietar al unui fișier numit file1 în www-data :

chown:www-data file1

O altă comandă pe care o puteți utiliza pentru a schimba proprietatea grupului de fișiere este chgrp .

Modificarea proprietății legăturilor simbolice

Când opțiunea recursivă nu este utilizată, comanda chown modifică proprietatea grupului a fișierelor către care punctează simbolurile, nu legăturile simbolice în sine.

De exemplu, dacă încercați să schimbați proprietarul și grupul legăturii simbolice symlink1 care indică spre /var/www/file1 , chown va schimba proprietatea fișierului sau a directorului pe care simbolul indică:

chown www-data: symlink1

Șansele sunt ca în loc să schimbați proprietatea țintă, veți primi o eroare „nu pot să vă derulați” symlink1 ”: Permisul refuzat”.

Eroarea apare deoarece în mod implicit la majoritatea distribuțiilor Linux simbolurile sunt protejate și nu puteți opera pe fișierele țintă. Această opțiune este specificată în /proc/sys/fs/protected_symlinks . 1 înseamnă activat și 0 dezactivat. Vă recomandăm să nu dezactivați protecția de pe simboluri.

Pentru a schimba proprietatea de grup a simbolului în sine, utilizați opțiunea -h :

chown -h www-data symlink1

Cum să schimbați recursiv proprietatea fișierului

Pentru a opera recursiv pe toate fișierele și directoarele din directorul dat, utilizați opțiunea -R ( --recursive ):

chown -R USER:GROUP DIRECTORY

Următorul exemplu va schimba proprietatea tuturor fișierelor și subdirectoarelor din directorul /var/www la un nou proprietar și grup numit www-data :

chown -R www-data: /var/www

Dacă directorul conține legături simbolice treceți opțiunea -h :

chown -hR www-data: /var/www

Alte opțiuni care pot fi utilizate la modificarea recursivă a proprietății directorului sunt -H și -L .

Dacă argumentul transmis comenzii chown este o legătură simbolică care indică un director, opțiunea -H va determina comanda să o parcurgă. -L îi spune lui chown să traverseze fiecare legătură simbolică către un director întâlnit. De obicei, nu ar trebui să utilizați aceste opțiuni, deoarece s-ar putea să vă încurcați sistemul sau să creați un risc pentru securitate.

Utilizarea unui fișier de referință

Opțiunea --reference=ref_file vă permite să modificați proprietatea utilizatorului și a grupului de fișiere date să fie identice cu cele ale fișierului de referință specificat ( ref_file ). Dacă fișierul de referință este un link simbolic, va folosi utilizatorul și grupul fișierului țintă.

chown --reference=REF_FILE FILE

De exemplu, următoarea comandă va atribui proprietarului utilizatorului și grupului file1 file2

chown --reference=file1 file2

Concluzie

chown este o utilitate pentru linia de comandă Linux / UNIX pentru modificarea proprietății fișierului și / sau a grupului.

Pentru a afla mai multe despre comanda chown accesați pagina de tip man chown sau tastați man chown în terminalul dvs.

terminalul chown