Ubuntu logo

Filrettigheter i Linux

Forstå og administrere filrettigheter og eierskap

Forstå filrettigheter

Linux bruker et system med lese (r), skrive (w) og kjøre (x) rettigheter for tre grupper: eier, gruppe og andre.

Symbol Numerisk Betydning
r 4 Lesetilgang
w 2 Skrivetilgang
x 1 Kjøretilgang

Chmod - Endre filrettigheter

Chmod brukes til å endre rettigheter på filer og mapper. Du kan bruke enten symbolsk eller numerisk notasjon.

Symbolsk notasjon

Symbolsk notasjon er mer lesbar og intuitiv. u=user (eier), g=group (gruppe), o=others (andre), a=all (alle). + legger til rettigheter, - fjerner rettigheter, og = setter eksakte rettigheter. Her ser vi hvordan vi kan gi spesifikke rettigheter til forskjellige brukergrupper.
$ ls -l fil.txt
-rw-r--r-- 1 bruker gruppe 123 Feb 12 11:30 fil.txt

$ chmod u+w fil.txt
$ ls -l fil.txt
-rw-r--r-- 1 bruker gruppe 123 Feb 12 11:30 fil.txt

$ chmod o-r fil.txt
$ ls -l fil.txt
-rw-r----- 1 bruker gruppe 123 Feb 12 11:30 fil.txt

$ chmod a+x fil.txt
$ ls -l fil.txt
-rwxr-x--x 1 bruker gruppe 123 Feb 12 11:30 fil.txt

Numerisk notasjon

Numerisk notasjon bruker oktale tall hvor hver rettighet har en verdi: read=4, write=2, execute=1. Summen av disse gir rettighetene for hver gruppe (eier, gruppe, andre). For eksempel gir 755 full tilgang til eier (7=4+2+1) og les/kjør til gruppe og andre (5=4+1).
$ chmod 755 script.sh
$ ls -l script.sh
-rwxr-xr-x 1 bruker gruppe 235 Feb 12 11:35 script.sh

$ chmod 600 passord.txt
$ ls -l passord.txt
-rw------- 1 bruker gruppe 45 Feb 12 11:36 passord.txt

$ chmod 777 delt_mappe
$ ls -l delt_mappe
drwxrwxrwx 2 bruker gruppe 4096 Feb 12 11:37 delt_mappe
OBS! chmod 777 gir full tilgang til alle og bør brukes med stor forsiktighet da det kan være en sikkerhetsrisiko.

Chown - Endre eierskap

Chown brukes til å endre eier og gruppe for filer og mapper.

Med chown kan du endre både eier og gruppe for filer og mapper. Bruk -R for rekursiv endring i mapper. Dette er spesielt nyttig når du trenger å overføre eierskap av filer mellom brukere eller når du setter opp nye tjenester som krever spesifikke eiere.
$ ls -l
total 12
-rw-r--r-- 1 gammel_bruker gammel_gruppe 2048 Feb 12 11:40 rapport.pdf

$ sudo chown ny_bruker rapport.pdf
$ ls -l rapport.pdf
-rw-r--r-- 1 ny_bruker gammel_gruppe 2048 Feb 12 11:40 rapport.pdf

$ sudo chown ny_bruker:ny_gruppe rapport.pdf
$ ls -l rapport.pdf
-rw-r--r-- 1 ny_bruker ny_gruppe 2048 Feb 12 11:40 rapport.pdf

$ sudo chown -R www-data:www-data /var/www/html/
$ ls -l /var/www/html/
total 8
drwxr-xr-x 2 www-data www-data 4096 Feb 12 11:41 images
-rw-r--r-- 1 www-data www-data 2458 Feb 12 11:41 index.php

Spesielle rettigheter

Rettighet Numerisk Beskrivelse
SUID 4000 Kjør som eier av filen
SGID 2000 Kjør som gruppe av filen
Sticky Bit 1000 Kun eier kan slette filer i mappen
Spesielle rettigheter gir ekstra funksjonalitet utover standard lese/skrive/kjøre rettigheter. SUID lar programmer kjøre med eierens rettigheter, SGID med gruppens rettigheter, og Sticky Bit beskytter filer i delte mapper fra å bli slettet av andre brukere.
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 68208 Aug 16 10:15 /usr/bin/passwd

$ sudo chmod u+s program
$ ls -l program
-rwsr-xr-x 1 root bruker 12345 Feb 12 11:45 program

$ sudo chmod g+s delt_mappe
$ ls -ld delt_mappe
drwxr-sr-x 2 root prosjekt 4096 Feb 12 11:46 delt_mappe

$ sudo chmod +t /tmp
$ ls -ld /tmp
drwxrwxrwt 15 root root 4096 Feb 12 11:47 /tmp

Standardrettigheter (umask)

Umask bestemmer standardrettigheter for nye filer og mapper.

Umask er en oktalt verdi som trekkes fra maksimale rettigheter (777 for mapper, 666 for filer) for å bestemme standardrettigheter for nye filer og mapper. En umask på 022 er vanlig og gir 755 (rwxr-xr-x) for mapper og 644 (rw-r--r--) for filer.
$ umask
0022

$ touch ny_fil
$ mkdir ny_mappe
$ ls -l
total 4
drwxr-xr-x 2 bruker bruker 4096 Feb 12 11:50 ny_mappe
-rw-r--r-- 1 bruker bruker    0 Feb 12 11:50 ny_fil

$ umask 027
$ touch ny_fil2
$ mkdir ny_mappe2
$ ls -l
total 8
drwxr-x--- 2 bruker bruker 4096 Feb 12 11:51 ny_mappe2
-rw-r----- 1 bruker bruker    0 Feb 12 11:51 ny_fil2
Tips: En umask på 022 er standard på mange systemer og gir gode sikkerhetsinnstillinger for de fleste bruksområder.