Betalningsmetoder Abuse

CHGRP LINUX-kommando

14.12.2021, 10:30

Ofta när man kör Linux tänker man sällan på vem som äger en fil. När det handlar om att köra en server förändras dock situationen. För att öka säkerheten får servern sin egen användare. Det är inte ovanligt att servrar använder samma grupp, t.ex. www-data. Låt oss nu se hur denna funktion fungerar med filer och kataloger. Vi kommer att ägna särskild uppmärksamhet åt symboliska länkar, eftersom de kan orsaka problem när man använder osäkra inställningar.

Vad det innebär

Standarden för filbehörigheter kom till Linux från Unix. Så varje objekt har en användare, grupp utöver detta beskriver rättigheterna förandra användare(andra). Behörigheterna består av tre delar: läsa, skriva, exekvera. Kommandot umask används för att ändra behörigheter, men kommandona chown används för att ändra ägare och grupp direkt. Kommandot ls kan användas för att visa aktuella behörigheter.

Syntax och alternativ

Allmän vy över kommandot chgrp:

$ chgrp [options] new_group file_name

Lista över vanliga alternativ för kommandot chgrp:

  1. -h - arbeta direkt med själva de symboliska länkarna;
  2. --dereference - arbeta med filer, inte med de symboliska länkarna själva. Används som standard;
  3. -R - rekursiv bearbetning av en katalog med allt dess innehåll;
  4. -H - följer symboliska länkar och ändrar attribut för filer/kataloger. Används tillsammans med parametern -R;
  5. -L - följ den symboliska länken och fortsätt den rekursiva bearbetningen. Används tillsammans med parametern -R;
  6. -P - när du stöter på en symbolisk länk, bearbeta endast den. Används tillsammans med parametern -R, är standardvärdet;
  7. --reference=file_name - använd exempelgruppen;
  8. -c - utdata ändras endast vid bearbetning;
  9. -v - skriver ut information om varje bearbetat objekt.

Användning av kommandot

Det enklaste exemplet på användning av kommandot chgrp. Följande exempel ändrar hela www-data-objektet för filen i den aktuella mappen:

$ sudo chgrp www-data file.txt

Och den här ändrar gruppen till www-data för mappmappen:

 $ sudo chgrp www-data folder

Kommandot fungerar på ett mycket förutsägbart sätt och ändrar deras grupp. Objekten i mappen förblir oförändrade. Om symboliska länkar hanteras förblir deras attribut oförändrade, men objektet får en ny grupp. Detta beteende liknar hanteringen av parametern --dereference.

Om dessa kommandon tillämpas på symboliska länkar fungerar det till exempel som visas på skärmdumpen:

$ sudo chgrp www-data sym_file.txt

Låt oss ta en titt på hur parametern -h som ändrar attributen för en symbolisk länk skulle fungera:

$ sudo chgrp -h www-data sym_file

Gruppen har inte bara satts till katalogen utan även till alla filer som finns i den. Observera att beteendet har ändrats, nu när en symbolisk länk bearbetas anges attributen för själva länken, inte för objektet.

För att se skillnaden mellan parametrarna -H och -L ska vi titta på några fler exempel. Kom ihåg att de måste användas tillsammans med -R:

$ sudo chgrp -RH www-data folder

Om du använder -H har beteendet vid bearbetning av symboliska länkar ändrats, de hanteras nu som om funktionerna kördes separat. Attributen för referenserna ändras inte, men det gör attributen för själva objekten, och den rekursiva bearbetningen stoppas när du byter till en katalog.

$ sudo chgrp -RL www-data folder

Den utför en funktion - den ändrar gruppen av filer och kataloger.

När du bearbetar symboliska länkar bör du vara extremt försiktig så att du inte skadar systemet.