På denne siden

Forstå rettigheter

Hver fil og mappe har en eier, en gruppe og et sett rettigheter. Kjør ls -l for å se dem:

$ ls -l
-rw-r--r-- 1 user user  123 Aug  5 10:00 notes.txt

Første kolonne er rettighetsstrengen. Den har ti tegn:

- rw- r-- r--
│ │    │    └── rettigheter for andre
│ │    └─────── rettigheter for gruppen
│ └─────────── rettigheter for eieren
└──────────────── filtype (- = fil, d = mappe, l = lenke)

Hver triplett består av lese (r), skrive (w) og utføre (x). En - betyr at rettigheten mangler. For en mappe betyr r å liste innholdet, w å opprette/slette filer inni, og x å gå inn i den (cd).

chmod — endre rettigheter

chmod endrer rettigheter. Bruk tallformen (oktal): lese = 4, skrive = 2, utføre = 1, og legg dem sammen per rolle.

$ chmod 644 notes.txt    # eier rw-, gruppe r--, andre r--
$ chmod 755 script.sh    # eier rwx, gruppe r-x, andre r-x
$ chmod 600 secret.txt   # kun eier rw-

Vanlige verdier:

Modus Betydning
644 filer: lesbar for alle, skrivbar for eieren (typisk)
755 programmer/mapper: eieren kan gjøre alt
600 privat: kun eieren kan lese eller skrive
700 mapper: kun eieren har tilgang

Symbolsk form bruker bokstaver i stedet for tall:

$ chmod +x script.sh      # legg til utføre for alle
$ chmod u+w notes.txt     # legg til skrive for eieren (u=user, g=group, o=others)
$ chmod g-r notes.txt     # fjern lese fra gruppen
$ chmod -R 755 mydir      # rekursivt: gjelder alt inni

chown — endre eier

chown endrer hvilken bruker som eier en fil eller mappe. Det krever root.

$ sudo chown alice notes.txt

For å endre både eier og gruppe, bruk user:group:

$ sudo chown alice:staff notes.txt

chgrp — endre gruppe

chgrp endrer gruppen til en fil. Eieren kan vanligvis gjøre dette for egne filer.

$ chgrp staff notes.txt

umask — standardrettigheter

umask setter standardrettighetsmasken for nye filer. Masken angir rettighetsbitene som fjernes fra grunnlaget (666 for filer, 777 for mapper): 022 fjerner skrive for gruppe og andre, 077 fjerner alt for gruppe og andre.

$ umask
0022

En maske på 022 betyr at nye filer opprettes som 644 og nye mapper som 755. En strengere maske som 077 gir nye filer 600.

$ umask 077
$ touch new.txt
$ ls -l new.txt
-rw------- 1 user user 0 Aug  5 10:00 new.txt

umask-kommandoen gjelder bare det gjeldende skallet. For å gjøre den permanent, legg den til i shell-oppstartsfilen din (~/.bashrc).

id — hvem er jeg?

id viser brukeren din, gruppen din og bruker-ID-en din:

$ id
uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo)

whoami skriver ut bare brukernavnet — det korte svaret på «hvem er jeg akkurat nå?». Etter sudo -i viser den root:

$ whoami
alice

sudo — kjør som administrator

sudo kjører en enkelt kommando med root-rettigheter. Det er den trygge måten å utføre administrative oppgaver på uten å logge inn som root.

$ sudo apt update
$ sudo systemctl restart ssh

Når du kjører sudo, blir du bedt om ditt eget passord én gang; rettighetene mellomlagres i noen minutter.

Flagg Betydning
-i start et root-shell
$ sudo -i
# whoami
root

Forsiktig: med root-rettigheter kan rm, chmod og chown ødelegge systemet. Dobbeltsjekk alltid stien når du kjører dem med sudo.