Home
Spiekbriefje
HOWTO's NL
Kabel internet
Poortnummers
IT begrippen
Default Passwords
   
Eigenaars en permissies bij bestanden

Bestandsbeheer in linux is meer dan alleen maar bestanden verplaatsen op het systeem of zorgen dat bestanden naar functie of onderwerp worden ingedeeld in directory's
Je kan aangeven welke gebruiker of groep gebruikers bepaalde bestanden of directory's in eigendom heeft en wie toestemming heeft om bestanden te lezen, te schrijven en uit te laten voeren
Om de bestandspermissies te wijzigen gebruik je chmod (te vinden in de directory /bin)
Voor dat je de bestandspermissies kan wijzigen is het belangrijk te weten hoe ze werken

# ls -l testbestand/*doc
-rw-r-r--     1  msa   msa   780  jan 2  16:16   testbestand1.doc
-rw-r-r--     1  msa   msa   970  jan 2  16:29  testbestand2.doc

Deze opdracht toont ondermeer de modus- en de permissie- indicatoren (permission flags)
Deze indicator worden in de eerste kolom weergegeven en bestaan uit een serie van tien letters
De eerste letter geeft het type bestand aan

Linux kent teminste acht bestandstypen, maar we geven hier de vier meest voorkomende:

• b : Block-device
• c : Charater-device
• d : directory
•  l : symbolische koppeling

De eerste twee typen zijn doorgaans te vinden in de directory /dev
De modem- en printerpoort op de pc zijn waarschijnlijk charater-devices (waarbij de kleinste informatie-eenheden losse tekens zijn)
Het diskette station is een voorbeeld van een block device, omdat de informatie in de vorm van blokken wordt gemanipuleerd

# ls -l /dev/lp0 /dev/cual dev/fd0
crw-rw----    1  root  uucp             5,  65  dec 31    1979   /dev/cual
brw-rw----    1  root  disk              2,   0   sep 15    23:48  /dev/fd0
crw-rw----    1  root  daemon       6,   0   sep 15    23:48  /dev/lp0
Je ziet dat de devices in deze directory zijn aangegeven als c of b
Om de permissie- indicatoren van een directory te zien, gebruik je de opdracht ls met de optie -d (directory)

# ls -ld test
drwxrwxr-x   2   msa   msa   1024   jan   2   10:12  test
De eerste letter d geeft aan dat het om een directory gaat
Ook symbolische koppelingen worden als zodanig aangegeven in de directorylasting

# touch bestand1
# ln -s bestand 1 bestand2
# ls -l bestand2
lrwxrwxrwx    1   msa   msa    5   jan 2   16:43   bestand2  -> bestand1

Nu we enig idee hebben van de belangrijkste bestandstypen, gaan we verder met hoe je de permissie- indicatoren afleest

Het is niet moeilijk te begrijpen waar de verschillende tekens voor staan
Daarvoor verdelen we de negen tekens recht van de bestandsindicator onder in drie groepen van ieder drie tekens
Iedere groep van drie tekens kan de volgende letters bevatten(van links naar rechts)

         r :   het bestand kan gelezen worden
         w : er kan naar het bestand geschreven worden
         x :  het bestand kan worden uitgevoerd of (in het geval van een directory) doorzocht

De eerts groep van drie tekens heeft betrekking op de eigenaar van het bestand
Als je een bestand hebt aangemaakt kun je deze permissies naar believen wijzigen
De volgende groep van drie tekens heeft betrekking op de gebruikers groep
In het bestand /etc/group vindt je een lijst met groepen die voor jLinux systeem zijn gedefinieerd
Dit bestand bestaat uit een tekst database
Enkele voorbeelden van de groepen

root : : 0 : root
bin : :1 : root, bin, daemon
daemon : : 2 : root, bin, daemon
sys : : 3 : root, bin, adm
adm : : 4 : root, adm, daemon
. . .
Users : :100 : msa, cloobie
msa : :500 : msa
cloobie : : 502 : cloobie

Het formaat van een groepsdefinitie is groepsnaam, wachtwoord, groepsnummer en een lijst met daarin de gebruikers van de groep, van elkaar gescheiden doormiddel van een komma
Dit betekend dat je de permissies voor lezen, schrijven en uitvoeren kunt instellen voor je groep en dat je de toegangmogelijkheden tot je bestanden kunt instellen
Als root-operator kun je de gebruikers in verschillende groepen indelen
Dit is belangrijk en we zullen hier verder op ingaan bij de uitleg van de opdracht chown

De laatse drie tekens geven de permissie aan voor alle andere gebruikers van het systeem

Nu je weet hoe je de permissie-indicatoren interpreteerd, laten we enkele voorbeelden de reveu passeren, waarna we ingaan op het gebruik van de opdracht chmod
Als je een bestand aanmaakt, hebben zowel u als de leden van uw groep standaard lees en schrijfpermissie voor dat bestand
Je kunt deze standaardinstellingen voor permissies bij het aanmaken van bestanden wijzigen door middel van de opdracht umask van de shell
Een voorbeeld van een bestand met gewijzigde standaardpermissies

# touch mijnbestand
# ls -l mijnbestand
-rw-rw-r--    1   msa   msa     0   jan  2  17:23    mijnbestand
Je zit dat zowel msa (rw-) als de groep msa (rw-) permissies voor het lezen en schrijven hebben, maar dat andere gebruikers (r--) het bestand alleen maar kunnen lezen
Als het bestand volledig beschikbaar is voor alle gebruikers van het systeen zien de permissies er als volgt uit:

-rw-rw-rw-    1   msa   msa     0   jan  2  17:23    mijnbestand
Nu kan iedereen dit bestand lezen of er naar schrijven
Als msa de enige is met lees en schrijftoegang tot het bestand , zien de permissies er als volgt uit:

-rw-------    1   msa   msa     0   jan  2  17:23    mijnbestand
Deze permisie-indicatoren geven aan dat alleen msa (rw-) toegang heeft tot het bestand
Je kan dit wijzigen door de opdracht chmod