In deze sectie demonstreren we via een korte schermsessie hoe permissies worden gebruikt.
Om permissies te wijzigen, zullen we gebruik maken van de opdracht chmod.
Er zijn hier een paar nieuwe trucs. Als eerste kun je ; gebruiken om twee opdrachten op één regel te plaatsen. Je kunt het bovenstaande typen als:
$ cd $ touch mijn-bestand |
$ cd; touch mijn-bestand |
Ter herinnering cd op zichzelf brengt je terug naar je home-directory. touch wordt normaal gesproken gebruikt om de wijzigingsdatum aan te passen van het bestand naar de huidige tijd, maar het heeft nog een andere interessante mogelijkheid: als het bestand niet bestaat maakt touch het bestand aan. Dus gaan we het gebruiken om een bestand aan te maken waar we mee kunnen oefenen. Gebruik ls -l als bevestiging dat het bestand werd aangemaakt, en om naar de permissies te kijken:
$ ls -l -rw-r--r-- 1 havoc havoc 0 Nov 18 22:04 mijn-bestand |
Uiteraard zullen de tijd en gebruiker/groepsnaam anders zijn als je het uitprobeert. De grootte van het bestand is 0, aangezien touch een leeg bestand aanmaakt. -rw-r--r-- is de standaardwaarde van de permissie mode onder Debian.
Deze opdracht betekent het toevoegen van de (+) execute (x) permissies voor de gebruiker (u) die de eigenaar is van het bestand. Gebruik ls -l om het effect te bekijken.
Hier hebben we met (-) de read permissie (r) voor de groep (g) en voor alle anderen die eigenaar zijn van het bestand (others/alle anderen, o) weggehaald. Gebruik wederom ls -l om de effecten te verifiëren.
Hier hebben we de permissies met (=) voor de gebruiker, groep en anderen op read en execute ingesteld. Hiermee worden de permissies exact zo ingesteld als wat je hebt opgegeven en worden alle andere permissies verwijderd. Dus allen zouden nu moeten zijn ingesteld op rx en van allen zou de permissie w nu moeten zijn verwijderd. Nu kan niemand meer naar het bestand schrijven.
a is een sneltoets voor ugo, of "allen". Dus alle x permissies zouden nu uit moeten zijn gezet.
We verwijderen het bestand, maar zonder write-permissies. rm zal vragen of je het zeker weet:
rm: remove `mijn-bestand', overriding mode 0444? |
Wat was dat gedoe met 0444 in de vraag van rm? De permissie-mode is een twaalf-cijferig binair nummer, zoals 000100100100. 0444 is dit binaire nummer voorgesteld als een octaal (grondtal 8) nummer, wat de conventionele manier is om een mode te schrijven. Dus je kunt chmod 444 mijn-bestand typen in plaats van chmod ugo=r mijn-bestand. Dit wordt volledig uitgelegd in de paragraaf Geavanceerde aspecten van bestandspermissies in Hoofdstuk 16.