Linux chmod Voorbeeld

In deze snelle tutorial, zullen we zien hoe we chmod commando te gebruiken in een Ubuntu-machine te vinden, te wijzigen en te verwijderen gebruiker machtigingen van specifieke bestanden die bestaan op het bestandssysteem van de gebruiker. Laten we spelen door middel van verschillende voorwaarden, zodat we de basis chmod commando’s die ons dagelijks leven gemakkelijker kunnen maken met Ubuntu onder de knie.

Linux Permissions

Linux Permissions zijn een grote set van regels die eenvoudig te begrijpen zijn als we de basisrechten begrijpen. De drie belangrijkste punten die we moeten begrijpen om te weten hoe Linux Rechten werken zijn:

  • Het element waarvoor de rechten zijn gedefinieerd
  • Welke acties kunnen worden uitgevoerd met een toestemming
  • Wie kan welke acties uitvoeren

Er zijn twee basis elementen in Linux Bestandssysteem:

  1. Directories
  2. Files

Er zijn drie acties die kunnen worden uitgevoerd:

  1. Read
  2. Write
  3. Execute. Afgezien van het uitvoeren van scripts, zijn dezelfde acties nodig om bestanden en andere mappen aan te maken

Gebruikers die deze acties kunnen uitvoeren zijn:

  1. Eigenaar van het bestand
  2. Groep van de eigenaar van het bestand
  3. Gebruikers die niet zijn gekoppeld aan de eigenaarsgroep of de eigenaar zelf

Om de rechten met betrekking tot een bestand te zien, voert u het volgende commando uit:

ls -l

Dit is wat we terugkrijgen met dit commando:

Vind toestemming voor bestanden

Vind toestemming voor bestanden

In de uitvoer, de eerste 10 tekens presenteert de toestemming voor het bestand:

  • Eerste teken, dat is ‘-‘ in dit geval betekent dat dit een bestand is. Voor een directory zou dit een ‘d’ zijn.
  • De volgende negen karakters vertegenwoordigen de permissies voor respectievelijk de eigenaar, de groep van de eigenaar, en anderen.

Veranderen van permissies

Syntax voor het wijzigen van permissies van een bestand ziet er als volgt uit:

chmod permissions file …

Octale weergave voor permissies

We kunnen permissies weergeven als een octaal getal. Bijvoorbeeld, voor het instellen van lees, schrijf & uitvoer permissies voor de eigenaar, lees & schrijf permissies voor zijn groep, en geen permissies voor anderen, op een hello.txt bestand, zullen we het volgende commando uitvoeren:

sudo chmod 760 hello.txt

Als we het bovenstaande commando uitvoeren en proberen een bestand te lezen met een niet-eigenaar account met het volgende commando:

sudo -u notowner-user more hello.txt

We zullen de volgende foutmelding krijgen:

hello.txt: Permission denied

Maar waar komt dit getal vandaan? Elk cijfer van dat getal vertegenwoordigt een reeks toestemmingen. Laten we eens kijken hoe ze zijn afgeleid:

  • 0: Geeft geen toestemming
  • 1: Geeft de uitvoer toestemming
  • 2: Geeft de schrijf toestemming
  • 4: Geeft de lees toestemming

Voor het toewijzen van lees, schrijf & uitvoer toestemmingen voor de eigenaar, hebben we hem het nummer 7(= 4 + 2 + 1) toegewezen. Laten we dit beter begrijpen in een tabel met cijfers:

Nummer Binary Read Write Execute
0 000 GEEN GEEN GEEN
1 001 GEEN GEEN WEL
2 010 GEEN JA NEE
3 011 NEE JA JA
4 100 JA NEE NEE
5 101 JA GEEN JA
6 110 JA Ja NEE
7 111 Ja Ja Ja

Voorgaande tabel is veel duidelijk in wat elk vertegenwoordigt in termen van bestandspermissies.

Tekenweergave voor Toestemmingen

We kunnen toestemmingen weergeven als een octaal getal. Bijvoorbeeld, voor het instellen van lees, schrijf & uitvoer permissies voor de eigenaar, lees & schrijf permissies voor zijn groep, en geen permissies voor anderen, op een hello.txt bestand, zullen we het volgende commando uitvoeren:

sudo chmod u=rwe,g=rw,o-rwx hello.txt

Om rechten aan een bestaande gebruiker toe te voegen, kunnen we ook het volgende doen:

sudo chmod g+w hello.txt

Hier werd de schrijfrechten toegewezen aan de gebruikersgroep van de eigenaar van het bestand.

Recursieve machtigingswijzigingen

We kunnen ook met een enkel commando de machtigingen wijzigen voor bestanden die in een specifieke directory staan. Om de permissies van elk bestand en elke map in een bepaalde directory in een keer te wijzigen, gebruik je sudo chmod met -R:

sudo chmod 777 Directory/*

We kunnen de volgende uitvoer zien die duidelijk de verandering in bestandspermissies weergeeft:

Recursief wijzigen van bestandspermissies

Recursief wijzigen van bestandspermissies

Conclusie

In deze les hebben we bekeken hoe we bestandspermissies kunnen wijzigen en indien nodig, dit recursief kunnen doen. We hebben de basisbegrippen achter Linux-permissies begrepen, die ons in ons dagelijks werk veel kunnen helpen.

Plaats een reactie