Wanneer je ls -l uitvoert, zie je aan het begin van elke regel een reeks van 10 tekens, bijvoorbeeld:
-rwxr-xr--
Het eerste teken geeft het type aan: - voor een gewoon bestand, d voor een map. De overige 9 tekens zijn verdeeld in drie groepen van drie:
| Positie | Wie | Betekenis |
|---------|------------|--------------------|
| 2-4 | user | Rechten van de eigenaar |
| 5-7 | group | Rechten van de groep |
| 8-10 | other | Rechten van alle anderen |
Elke positie is r (read/lezen), w (write/schrijven), x (execute/uitvoeren), of - (geen recht).
Voor mappen heeft x een speciale betekenis: het geeft toestemming om de map te betreden (cd).
Toon de uitgebreide bestandsinformatie (permissies, eigenaar, grootte, datum) van het bestand /home/user/Documents/readme.txt.
Toon de uitgebreide bestandsinformatie van alle bestanden in /home/user/Documents/, ook de bestanden die normaal verborgen zijn (bestanden die met een punt beginnen).
Toon alleen de permissiestring (bijv. -rw-r--r--) van het bestand /home/user/Documents/readme.txt. Haal eerst de uitgebreide bestandsinformatie op en filter daaruit alleen de eerste kolom.
Er bestaat een commando dat uitgebreide metadata van een bestand toont, waaronder permissies in zowel symbolisch als numeriek formaat. Gebruik dit commando om de volledige metadata van /home/user/Documents/readme.txt te bekijken.
Maak een nieuw leeg bestand aan op /home/user/Documents/test_permissies.txt en bekijk daarna direct de permissies ervan in het lange lijstformaat. Doe dit in een enkele regel.
Met chmod (change mode) pas je permissies aan. De symbolische notatie gebruikt letters om aan te geven wat je wilt wijzigen:
Wie:
u = user (eigenaar)g = group (groep)o = other (anderen)a = all (iedereen, gelijk aan ugo)Actie:
+ = recht toevoegen- = recht verwijderen= = rechten exact instellenWelk recht:
r = readw = writex = executeVoorbeelden: chmod u+x bestand voegt execute-recht toe voor de eigenaar. chmod go-w bestand verwijdert schrijfrecht voor groep en anderen.
Het bestand /home/user/Documents/readme.txt is momenteel niet uitvoerbaar. Zorg ervoor dat de eigenaar het bestand kan uitvoeren, zonder de andere rechten te wijzigen. Gebruik symbolische notatie.
Het bestand /home/user/Documents/notes.md is momenteel leesbaar voor iedereen. Zorg ervoor dat anderen (niet de eigenaar en niet de groep) het bestand niet meer kunnen lezen. Gebruik symbolische notatie.
Het bestand /home/user/Documents/notes.md heeft op dit moment te veel rechten voor de groep. Stel de rechten van de groep zo in dat zij uitsluitend het bestand mogen lezen -- geen schrijf- of uitvoerrecht. Eventuele andere groepsrechten moeten verdwijnen. Gebruik symbolische notatie.
Het bestand /home/user/Documents/readme.txt moet uitvoerbaar worden voor de eigenaar, de groep en alle anderen tegelijk. Doe dit in een enkel commando met symbolische notatie.
Pas de permissies van /home/user/Documents/readme.txt als volgt aan met symbolische notatie: de eigenaar mag lezen en schrijven (niet uitvoeren), de groep mag alleen lezen, en anderen krijgen helemaal geen rechten. Stel alle categorieen exact in zodat eerdere rechten worden overschreven.
Naast de symbolische notatie kun je permissies ook instellen met octale getallen (numerieke notatie). Elk recht heeft een waarde:
| Recht | Waarde |
|-------|--------|
| r (read) | 4 |
| w (write) | 2 |
| x (execute) | 1 |
Je telt de waarden op per categorie. Drie cijfers vormen samen de volledige permissie:
| Permissie | Berekening | Getal |
|-------------|------------|-------|
| rwx | 4+2+1 | 7 |
| rw- | 4+2+0 | 6 |
| r-x | 4+0+1 | 5 |
| r-- | 4+0+0 | 4 |
| --- | 0+0+0 | 0 |
Dus chmod 755 betekent: eigenaar rwx (7), groep r-x (5), anderen r-x (5).
Veelgebruikte combinaties:
Stel de permissies van /home/user/Documents/readme.txt in met numerieke notatie, zodat de eigenaar volledige rechten heeft (lezen, schrijven, uitvoeren) en de groep en anderen het bestand mogen lezen en uitvoeren, maar niet schrijven.
Het bestand /home/user/Documents/notes.md bevat vertrouwelijke notities. Stel de permissies zo in met numerieke notatie dat alleen de eigenaar het bestand kan lezen en schrijven. De groep en anderen mogen helemaal niets.
Maak een nieuw bestand /home/user/Documents/geheim.txt aan en beveilig het zo dat alleen de eigenaar het kan lezen, schrijven en uitvoeren. De groep en anderen mogen er niets mee. Doe dit in een enkele regel met numerieke notatie.
De map /home/user/projects/ moet zo beveiligd worden dat de eigenaar volledige toegang heeft, de groep de inhoud kan lezen en de map kan betreden, maar anderen helemaal geen toegang hebben. Gebruik numerieke notatie.
Stel de permissies van twee bestanden in op een enkele regel met numerieke notatie. Het bestand /home/user/Documents/readme.txt moet leesbaar en schrijfbaar zijn voor de eigenaar, en alleen leesbaar voor de groep en anderen. Het bestand /home/user/Documents/notes.md moet leesbaar en schrijfbaar zijn voor de eigenaar, alleen leesbaar voor de groep, en helemaal niet toegankelijk voor anderen.
Met chown (change owner) wijzig je de eigenaar en/of groep van een bestand. Met chgrp (change group) wijzig je alleen de groep. Beide commando's vereisen sudo (root-rechten).
Syntaxis:
sudo chown gebruiker bestand # Wijzig eigenaar
sudo chown gebruiker:groep bestand # Wijzig eigenaar en groep
sudo chown :groep bestand # Wijzig alleen de groep
sudo chgrp groep bestand # Wijzig alleen de groep
Met de optie -R (recursief) pas je het eigenaarschap aan voor een map en alles erin:
sudo chown -R gebruiker:groep map/
Bekijk wie de eigenaar en de groep is van het bestand /home/user/Documents/readme.txt. Toon de uitgebreide bestandsinformatie.
Maak gebruiker root de eigenaar van het bestand /home/user/Documents/readme.txt. Je hebt hiervoor verhoogde rechten nodig.
Het bestand /home/user/Documents/notes.md moet toegankelijk worden voor de groep sudo. Wijzig alleen de groep van dit bestand, niet de eigenaar. Je hebt beheerdersrechten nodig.
Het bestand /home/user/Documents/readme.txt is momenteel eigendom van root. Wijzig in een enkel commando zowel de eigenaar als de groep naar user. Je hebt beheerdersrechten nodig.
De map /home/user/projects/ en alle bestanden en submappen erin moeten eigendom worden van root (zowel eigenaar als groep). Zorg ervoor dat het eigenaarschap in een keer wordt aangepast voor de map en alles wat erin zit. Je hebt beheerdersrechten nodig.
Voer de volgende drie stappen uit in een enkele regel: (1) maak een nieuw bestand /home/user/Documents/shared.txt aan, (2) stel de permissies zo in dat de eigenaar en de groep het bestand kunnen lezen en schrijven, en anderen het alleen kunnen lezen, (3) wijzig de groep van het bestand naar sudo. Je hebt voor de laatste stap beheerdersrechten nodig.
In dit hoofdstuk heb je geleerd hoe het Linux-permissiesysteem werkt:
Permissies lezen:
ls -l om permissies te bekijkenchmod -- symbolisch:
chmod u+x -- voeg execute toe voor eigenaarchmod g-w -- verwijder write voor groepchmod o=r -- stel other in op alleen readchmod a+x -- voeg execute toe voor iedereenchmod -- numeriek:
chmod 755 -- rwxr-xr-x (uitvoerbaar bestand)chmod 644 -- rw-r--r-- (gewoon bestand)chmod 700 -- rwx------ (privaat)Eigenaarschap:
sudo chown gebruiker:groep bestand -- eigenaar en groep wijzigensudo chgrp groep bestand -- alleen groep wijzigen-R -- recursief toepassen op mappen