next up previous contents index
Volgende: 6.5 Bestanden bekijken en Omhoog: 6 Basiskennis Vorige: 6.3 Pipelines, redirecting en   Inhoudsopgave   Index


6.4 Permissies en eigenaren

Als je ls -l intikt, dan zul een regel als de volgende zien.

-rw-rw-r-- 1 jarkko jarkko 2786 Aug 8 20:19 navbar.htm

Van links naar rechts staan er de permissies, het aantal hard links naar het bestand, de eigenaar van het bestand, de groep waar hij toe behoort, de grootte in bytes, de datum, de tijd en tenslotte de bestandsnaam. Op de plaats van de datum zie je hier de tijd, omdat het bestand deze dag gemaakt is.

De permissie zit als volgt in elkaar. Helemaal links staat een letter die het type van het object aangeeft.



Letter Omschrijving
- bestand
b block device, komt voor in /dev
c character device, komt voor in /dev
d directory
l symlink
p named pipe
s socket


Daarachter staan 3 blokken van 3 tekens, waar dezelfde letters in kunnen staan, variërend van --- tot rwx. De r staat voor read, de w voor write en de x door execute. Het eerste blok geldt voor de eigenaar van het bestand, het tweede voor de groep en het derde voor de rest van de wereld. Symlinks hebben altijd lrwxrwxrwx. Read, write en execute spreken voor zich bij gewone bestanden, maar bij directories heeft het een ander effect. Het volgende overzicht geeft aan wat je kunt met welke permissies.



Permissie Bestand Directory
--- niks onbenaderbaar
r-- inhoud bekijken bestandsnamen bekijken
rw- inhoud zien en wijzigen inhoud zien en wijzigen
rwx alles (incl. uitvoeren script/binary) alles (incl. naar directory cd-en)
r-x bekijken, script uitvoeren kunt niks verwijderen of toevoegen, wel zien en cd-en
--x binary uitvoeren kunt een binary uitvoeren waarvan je de exacte locatie kent

Merk op dat je voor het uitvoeren dan een binary alleen maar execute nodig hebt, terwijl voor het uitvoeren van een script zowel execute als read nodig is.

Om de permissies te veranderen is het commando chmod. Zet daar eerst achter voor wie de verandering geldt, dan of het aan of uit moet en tenslotte wat er moet veranderen. De u staat voor user, g voor group en o voor other (de rest van de wereld). De volgende twee voorbeelden maken het waarschijnlijk wel duidelijk.

chmod ugo-rwx file   Haal voor User, Group en Others Read Write en eXecute weg.
chmod u+x file       Maak het voor User eXecutable

In plaats van letters kun je ook cijfers gebruiken. Bij andere Unices is dit vaak ook de enige manier. Om het getal te bepalen dat je moet hebben, moet je de 3 posities waar rwx kan staan zien als 3 bits (het zijn ook 3 bits, die zo letterlijk in het filesystem staan opgeslagen). Zet dit binaraire getal om in een octaal getal. In binair stelt de meest rechter bit $2^0$ voor, dus 1. De bit er links naast $2^1=2$ en die daarnaast $2^2=4$. Als alle permissiebits aan staan, dus rwx, levert dit 4+2+1=7 op. Hier volgt weer een tweetal voorbeelden ter verduidelijking.

chmod 777 file  Geef iedereen read write en execute permissie.
chmod 750 file  Geef de eigenaar alle rechten, de rest van de groep alleen
                lees en execute permissie en de rest niks.

Dit is niet alles wat er over permissies te vertellen is. Er bestaat ook nog een SUID-bit. Je kunt die aanzetten met chmod +s prognaam of door een extra 1 voor het permissienummer te zetten. Wie een programma waar de SUID-bit van aan staat ook uitvoert, het effect is hetzelfde als wanneer de eigenaar van het programma het uitvoerde. Is root de eigenaar, dan is het dus net alsof root het uitvoerde en het programma heeft daarmee dezelfde rechten als root. Op die manier kun je alle gebruikers programma's laten uitvoeren die normaal gesproken alleen door root uitgevoerd mogen worden. Een veiligere methode is echter sudo gebruiken. Zie paragraaf 11.8 voor meer informatie daarover.

Om de eigenaar en groep te veranderen is het commando chown. Zet daar eerst de nieuwe eigenaar, dan een punt en dan de nieuwe groep achter. Laat voor of achter de punt de eigenaar of groep gewoon leeg om de huidige eingnaar of groep te behouden. Zo verandert chown jarkko. file de eigenaar van file in jarkko.


next up previous contents index
Volgende: 6.5 Bestanden bekijken en Omhoog: 6 Basiskennis Vorige: 6.3 Pipelines, redirecting en   Inhoudsopgave   Index
Jarkko Huijts 2002-08-17