Android

Comanda Chgrp în linux (schimbare grup)

Linux - Change owner or group of file

Linux - Change owner or group of file

Cuprins:

Anonim

În Linux, fiecare fișier este asociat cu un proprietar și un grup și are permisiuni care determină utilizatorii care pot citi, scrie sau executa fișierul.

Comanda chgrp modifică proprietatea grupului de fișiere date.

Acest ghid explică modul de utilizare a chgrp .

Sintaxa comenzii chgrp

Comanda chgrp are următoarea formă:

chgrp GROUP FILE..

  • GROUP , numele grupului nou sau ID-ul grupului (GID). Numărul GID trebuie prefixat cu simbolul + . FILE.. , numele unuia sau mai multor fișiere.

Spre deosebire de comanda chown care vă permite să schimbați proprietatea utilizatorului și a grupului, chgrp modifică doar proprietatea grupului.

Pentru a afla din ce grup aparține fișierul, utilizați comanda ls -l .

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

Modificarea proprietății grupului de fișiere

Pentru a schimba proprietatea grupului unui fișier sau director, invocați comanda chgrp urmată de noul nume de grup și de fișierul țintă ca argumente.

De exemplu, pentru a schimba grupul fișierului filename în www-data ați rula:

chgrp www-data filename

De asemenea, puteți trece mai multe fișiere ca argumente la comanda chgrp :

chgrp www-data file1 file2 dir1

Folosiți opțiunea -v pentru a obține informații despre fișierele care sunt procesate:

chgrp www-data file1 file2

changed group of 'file1' from nginx to www-data group of 'file2' retained as www-data

Pentru a tipări informații numai despre acele fișiere care grupă schimbă efectiv utilizarea -c în loc de -v

ID-ul grupului numeric (GID) poate fi utilizat în loc de nume de utilizator. Următorul exemplu schimbă proprietatea fișierului într-un grup nou cu GID de 1000:

chgrp +1000 filename

Modificarea proprietății grupului Symlinks

Atunci când nu funcționează recursiv, comportamentul implicit al comenzii chgrp este modificarea proprietății grupului a țintelor de simbol, nu a legăturilor simbolice.

De exemplu, dacă încercați să schimbați grupul legăturii simbolice symlink1 care indică /opt/file1 , chgrp va schimba proprietatea fișierului sau a directorului pe care link-ul indică:

chgrp www-data symlink1

Șansele sunt ca, în loc să schimbați grupul țintă, veți primi o eroare „nu puteți să le derivați” symlink1 ”: Permisul refuzat”.

Eroarea se întâmplă 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 :

chgrp -h www-data symlink1

Modificarea recurentă a dreptului de proprietate al grupului

Pentru a schimba recursiv proprietatea de grup a tuturor fișierelor și directoarelor dintr-un director dat, utilizați opțiunea -R .

De exemplu, următoarea comandă va schimba proprietatea tuturor fișierelor și directoarelor din directorul /var/www la grupul de www-data :

chgrp -R www-data /var/www

Când este specificată opțiunea recursivă, chgrp nu va traversa legăturile simbolice și nu va face modificări la simboluri. Pentru a schimba proprietatea de grup a legăturilor simbolice, treceți opțiunea -h :

chgrp -hR www-data /var/www

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

Dacă argumentul transmis comenzii chgrp este o legătură simbolică, opțiunea -H va determina comanda să o parcurgă. -L îi spune lui chgrp să traverseze fiecare simbol către un director întâlnit. În cele mai multe cazuri, 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.

Concluzie

chgrp modifică proprietatea grupului de fișiere, directoare și simboluri.

Deși puteți utiliza comanda mai populară chown pentru a schimba grupul, chgrp are o sintaxă simplă, ușor de reținut.

Pentru mai multe informații despre comanda chgrp , vizitați pagina chgrp man sau tastați man chgrp în terminalul dvs.

terminal chgrp