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.