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
    • De eigenaar van de file
  • 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

  • 3 Classes
    • Owner
    • Group
    • Others

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...

222120
421= 7

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:
    • 750
    • 644
  • 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