Linux
Access Rights
Leerdoelen
- Kennismaking met de rechten op files en directories
ls -l
ls -l
Total 8
-rw-r--r-- 1 dennis dennis 13 Apr 30 13:44 hello.txt
drwxr-xr-x 2 dennis dennis 4096 Apr 14 13:09 Linux
- Kolom 1: Access Rights
- Kolom 2: Link count
- Kolom 3: User owner
- Kolom 4: Group owner
- Kolom 5: Size (bytes)
- Kolom 6-8: datum en tijd van wijzigen
- Kolom 9: Bestandsnaam
Owners
- User owner
- Group owner
- De group die access heeft
- Default: group van de owner
- Others
- Geen echte owner
- De rest van de wereld (op het systeem)
Rechten: classes
Rechten: file of directory
- R: Read
- File: Je mag een bestand lezen
- Directory: Je mag een directory listen (
ls)
- W: Write
- File: Je mag schrijven naar een bestand
- Directory: Je mag nieuwe file maken
- X: Execute
- File: je mag een bestand opstarten
- Directory: je hebt toegang tot de dir (
cd)
Rechten in nummers...
Rechten op een file
- De totaal waarde van een blok bij elkaar optellen
- RWX = 7 (4+2+1)
- RW- = 6 (4+2+0)
- R-- = 4 (4+0+0)
- Voor de eigenaar, groep en anderen komen we op 3 cijfers:
- Niet opstartbare bestanden hebben dus maximaal 666 als rechten
- Opstartbare bestanden of directories 777
Tools
- chown
- change owner: wijzig de eigenaarschap van een file
- chgrp
- change group: wijzig de groep eigenaarschap van een file
- chmod
- change file mode bits: wijzig de rechten op een file
chmod: opdracht
- Geef bij elke chmod aan wat de nieuwe rechten worden, wat mag de eigenaar, groep en wat mag de rest van de wereld?
touch nieuwbestand.txt
ls -l nieuwbestand.txt
chmod 600 nieuwbestand.txt
ls -l nieuwbestand.txt
chmod 740 nieuwbestand.txt
ls -l nieuwbestand.txt
chmod 421 nieuwbestand.txt
ls -l nieuwbestand.txt
Met letters
- u = user
- g = group
- o = other
- a = all (iedereen)
- + = add
- – = remove
- chmod u+w,g-w,o-rw <bestandsnaam>
The 4th-bit
- SUID bit (4)
- u+s
- Alleen op files! Vertelt onder welke gebruiker een programma draait. Als het programma het eigenaarschap heeft root:users en het SUID-bit is gezet, dan draait het programma als root als het door een gebruiker opgestart wordt (!)
- SGID bit (2)
- g+s
- Op directories betekent het dat de groep overerft (inherited) wordt als er bestanden of directories in die directory aangemaakt worden.
- Op files vertelt het onder welke group een programma draait
- Sticky bit (1)
- o+t
- Alleen directories! Als het sticky-bit is gezet op een directory dan betekent het dat alleen de eigenaar van een bestand in de directory, de eigenaar van de directory of root, het bestand mag verwijderen en hernoemen
Samenvatting
- We kunnen het eigenaarschap van de owner en de group wijzigen
- We kunnen de access rechten van een bestand wijzigen