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:
- Directories
- Files
Er zijn drie acties die kunnen worden uitgevoerd:
- Read
- Write
- 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:
- Eigenaar van het bestand
- Groep van de eigenaar van het bestand
- 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:
Dit is wat we terugkrijgen met dit commando:
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:
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:
Als we het bovenstaande commando uitvoeren en proberen een bestand te lezen met een niet-eigenaar account met het volgende commando:
We zullen de volgende foutmelding krijgen:
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:
Om rechten aan een bestaande gebruiker toe te voegen, kunnen we ook het volgende doen:
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:
We kunnen de volgende uitvoer zien die duidelijk de verandering in bestandspermissies weergeeft:
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.