Kommandoer
Rettigheder
Rettighed Forklaring
r - Read (læse) Man kan tse indholdet af filen.
w - Write (skrive) Man kan ændre på indholdet i filen. Hvis der ikke er læse-rettigheder kan man ikke se indholdet, men man kan stadig ændre i den. Det kan f.eks. være logfiler som der skal skrives i, men som kun root skal læse i
x - eXecute (udførelse) Filen kan tolkes som et program og derfor køres af operativsystemet.

Ved hjælp af disse 3 parametre styres alle filer, mapper og enheder på computere. Lad os kigge på et eksempel nemlig /etc/passwd som er den fil der styrer brugerne på Linux .

ls -al /etc/passwd
tj@tj-VirtualBox:~$ ls -al /etc/passwd
-rw-r--r-- 1 root root 2013 mar 16 20:05 /etc/passwd

Den linie giver os alle de informationer om rettigheder vi har behov for

-rw-r--r-- Oversigt over filens retttigheder
1 Antal hardlinks * (se note nedenfor)
root root Brugeren og gruppen
2013 Filens størrelse
mar 16 20:05 tidsstempel
/etc/passwd Filens navn

* I Linux kan man have hard og symbolic links. Forskellen er, at hvis man sletter et hardlink, så forsvinder filen. Hvis man sletter et softlink, så er det kun henvisningen til filen man sletter. Filen er altså uskadt

Læg mærke til, at der både findes en bruger og en gruppe der hedder root. Alle brugere har som standard både tildelt en gruppe med deres egen navn. Det betyder at alle brugere har mulighed for at tilføje brugere til deres grupper så de selv kan tildele rettigheder til filer og mapper.

Aflæsning af rettigheder

Filtype Bruger Gruppe Alle
type read write execute read write execute read write execute
- r w - r - - r - -

Vi kan altså sige om denne fil at brugeren er root, som må læse og skrive i filen. Alle andre (gruppe og alle). De er nødvendigt for alle at kunne læse denne fil, da det er den der administrere adgangen til systemet. Kigger vi ind i filen kan vise hvad den har at sige om vores bruger, her tj. Da alle har ret til at læse i filen kan jeg kommandoen den som mig selv.

tj@tj-VirtualBox:/home$ cat /etc/passwd | grep tj
tj:x:1000:1000:Thomas Jensen,,,:/home/tj:/bin/bash

Den linie fortæller os om vores bruger, hvilket bruger- og gruppe id man har, ens hjemmemappe og hvilken kommandofortolker vi har adgang til. Det lille x i starten henviser til vores kodeord, som er lagret i filen /etc/shadow.

Et andet eksempel er vores hjemmemappe, i dette tilfælde /home/tj. Vi kan se rettighedern ved at køre : ls -al /home.

tj@tj-VirtualBox:~$ ls -al /home
totalt 12
drwxr-xr-x  3 root root 4096 maj 30 13:33 .
drwxr-xr-x 24 root root 4096 maj 30 13:51 ..
drwxr-xr-x 16 tj   tj   4096 jun  2 09:47 tj

Superbrugeren

root-brugeren er ikke underlagt de rettigheder der er sat på på de enkelte filer. root kan og skal kunne alt. At have root-rettigheder på et system handler ikke kun om at man er god til Linux, men forudsætter også at man gør sig overvejelser om hvad man bruger disse rettigheder til.

Den danske grundlov (http://grundloven.dk/) siger følgende:

§ 72

Boligen er ukrænkelig. Husundersøgelser, beslaglæggelse og undersøgelse af breve og andre papirer samt brud på post-, telegraf- og telefonhemmeligheden må, hvor ingen lov hjemler en særegen undtaglse, alene ske efter en retskendelse.

Grundloven har gode retningslinier til superbrugeren. Du må alt der ikke krænker brugeren, dvs. hjælpe brugeren med at løse sin opgave. Det gælder også selvom brugeren er dit barn, din partner eller kollega. Brugerens personlige filer og mapper er vedkommendes ejendom, og hvis man som administrator krænker dem ved at læse dem - så er det et grundlovsbrud!

Den eneste undtagelse er, når brugeren har fået at vide at det ikke er brugerens private ejendom, f.eks. hvor en virksomhed eller skole stiller ressourcen til rådighed for dig.

chown

chown (change owner) bruges til, at ændre ejer og gruppe på en fil eller en mappe.

Det er kun root der kan ændre ejerskab på filer.

Ændring af ejerskab sudo chown tj ~/testfil Ændring af ejerskab og gruppe

Herunder ændres filen til at have ejeren og gruppen tj

sudo chown tj:tj ~/testfil

Man kan også anvende følgende "shorthand"

sudo chown tj: ~/testfil Ændring af ejerskab på mapper og undermapper

Skal man ændre rettigheder på alle filer i en mappe anvender man -R (recursive). Nedestående kommando ændrer ejerskab på alle filer i mappen /data

sudo chown -R tj: /data
tj@tj-VirtualBox:~$ sudo touch testfil
[sudo] adgangskode for tj: 
tj@tj-VirtualBox:~$ ls -al testfil
-rw-r--r-- 1 root root 0 jun  2 10:41 testfil
tj@tj-VirtualBox:~$ sudo chown tj:tj testfil
-rw-r--r-- 1 tj tj 0 jun  2 10:41 testfil

man-page: chown http://manpages.ubuntu.com/manpages/trusty/man1/chown.1.html

chgrp

Ligesom ovenfor, men virker på grupper

Det er kun root der kan ændre gruppe på filer.

chmod

chmod ændrer rettighederne på filen. Husk at anvende sudo hvis du ikke har rettighederne til filen:

chmod [-R][rettigheder] [fil/mappe]

Skal det gælde alle undermapper indsættes -R (recursiv)

Et eksempel, hvor rettighederne sættes til at brugeren har alle rettigheder (rwx) og alle har ret til at læse og udføre (r-w) svarende til rettigheder for html-filerne på en webserver:

chmod 705 testfil
tj@tj-VirtualBox:~$ ls -al | grep testfil
-rw-rw-r--  1 tj   tj       0 jun  3 17:02 testfil
tj@tj-VirtualBox:~$ chmod 705 testfil
tj@tj-VirtualBox:~$ ls -al | grep testfil
-rwx---r-x  1 tj   tj       0 jun  3 17:02 testfil

Som vi så ovenfor er de 10 første tegn et udtryk for filens rettigheder, og skal forstås efter nedestående skema (filtyper vil blive forklaret længere nede).

Filtype Bruger Gruppe Alle
- r w x r w x r w x
read write execute read write execute read write execute

Rettighederne kan sættes for hver kategori ved hjælp af talmellem 0 og 7 efter nedestående skema.

Talværdi r
2² = 4
w
2¹ = 2
x
2⁰ = 1
Samlet Rettigheder
7 1 1 1 rwx Alle (læse, skrive og udføre)
6 1 1 0 -wx Læse og skrive
5 1 0 1 r-x Læse og udføre
4 1 0 0 r-- Læse
3 0 1 1 -wx Skrive og udføre
2 0 1 0 -w- Skrive
1 0 0 1 --x udføre
0 0 0 0 --- Ingen

Eksempler

Kommando Rettigheder Bruger Gruppe Alle
chmod 660 testfil r w - r w - - - - r w - r w - - - -
chmod 700 testfil r w x - - - - - - r - - - - - - - -
chmod -R 705 /var/www/html

705 kombinationen er meget anvendt på systemer hvor brugeren skal have alle rettigheder, men alle skal kunne se filerne og udføre programmerne UDEN at kunne ændre på dem. F.eks. på en webserver som har filerne i mappen /var/www/html og dennes undermapper

Vær opmærksom på, at man ikke kan fratage root' rettigheder til en fil/mappe. Selvom man køre en chmod 000 vil root stadig kunne tilgå dem og sætte nye rettigheder. Man kan altså ikke låse sig ud af en fil.

man-page: chmod http://manpages.ubuntu.com/manpages/trusty/man1/chmod.1.html