NedLinux document repository

Over permissiebits en zo

Geschreven door Pascal


Deze document repository is opgezet omdat er diverse handige howto's op alleen het forum waren gepost, en niet ergens op het net te vinden waren afgezien van het forum zelf. Vragen of opmerkingen over dit document kan je rustig stellen op het documentatieontwikkelingsforum van Nedlinux.

Steevaste klacht die elke keer weer terug komt
Mijn geluid doet het niet, maar wel als ik root ben.

Dit word veroorzaakt door het rechten systeem van Linux.
Het probleem is als volgt.
Elk bestand heeft naast een "filename" ook nog eens een eigenaar "owner" en een groep "group" Ook zijn er voor elk bestand zogenaamde permisie bits
Deze permisie bits komen in drievoud.
De belangrijkste hiervan zijn Read Write eXecute
Waneer je een opdracht als ls -l uitvoerd,
dan krijg je zoiets te zien als:

--rw-r----     5 pascal     vrienden      4096 Oct 11 11:45 mijndocument
-rwxr-xr-x     5 pascal    users          4096 Oct 11 11:45 mijnprogramma
drwxr-xr-x     5 pascal    users          4096 Oct 11 11:45 mijndirectory/

De eigenaar van deze bestanden is Pascal.

Pascal mag het bestand mijndocument lezen en schrijven.
Mensen die lid zjin van de groep vrienden mogen het bestand van mji rustig lezen,
maar niet veranderen.
Voor hen is dus enkel het Read bitje actief
Alle anderen mogen niet aan het bestand komen

Pascal mag het bestand mijnprogramma lezen, schrijven maar ook uitvoeren.
Kenlijk gaat het hier om een programma of een script.
Andere gebruikers mogen het bestand wel zien en uitvoeren, maar niet wijzigen.

Een soortgelijk verhaal geld voor mijndirectory
Waar Pascal alle rechten voor heeft.

De X betekent hier niet eXecute, maar het recht om de kennis te nemen van inhoud van deze directory (ls).

Waneer je nu in de directory /dev gaat kijken danzul je zien dat de meeste devices
het eigendom van root zijn.
Daar is een heel goede reden voor.
Stel je voor dat iedereen schrijfrechten had tot /dev/hda dan was het een fluitje van een cent om de hele schijf ineens te verzieken, zoals dat bij sommige andere besturingssystemen wel mogelijk is .

Ook het door een onverlaat sturen van grote hoeveelheden data naar een device zou tot problemen kunnen leiden.
Of welicht zou iemand zonder toestemming met het modem kunnen uitbellen.

Het grootste deel van de devices is dus voor de gebruiker niet toegankelijk.
Soms echter willen wij dat wel
Bijvoorbeeld omdat we met minicom op een BBS willen inloggen
of omdat wij een programma hebben dat geluid produceerd via /dev/dsp

We moeten er in dit geval dus voor zorgen dat we ook de benodigde rechten daarvoor krijgen.
Op zich is dat heel eenvoudig.
Sommige mensen adviseren het volgende te doen
cdmod 777 /dev/dsp
Op die manier worden alle permisies RWX voor iedereen toegangkelijk gemaak
Dat werkt dus wel, maar is toch ook niet de bedoeling.
Deze werkwijze n.l. tot serieuze veiligheids problemen leiden ;( !
Bovendien zou het moeten zijn : chmod 666 /dev/dsp,
want eXecute rechten op een sound device lijken mij niet erg zinvol nog veilig.

Een betere benadering is om precies te omschrijven welke mensen er van
het device gebruik mogen maken.
Dit kun je regelen door deze mensen in een group te benoemen
en vervolgens het deze group mede eigenaar te maken van het device

Een mooie groepsnaam lijkt me in het bovenstaande geval sound .
Zorg eerst dat de group bestaat en leden heeft.
dit doe je door het bestand /etc/group aan te passen
kijk of er al een groep sound bestaat.
Zo niet voeg deze dan in een nieuwe regel toe.

Het formaat is als volgt
sound::14:root,pascal,omehenk

We hebben nu een nieuwe group toegevoegd met het GroupID nummer 14
(dat nummer mag je zelf kiezen, als het maar een vrij nummer is, 14 is toevallig de default bij Slacware)
Tot deze group behoren root (ten overvloede), Pascal en omeHenk die ook wel es een spelletje speelt.

Nu de groep bestaat,
kun je deze eigenaar maken van sound device.
Dat doe je als volgt
chgrp sound /dev/dsp

En tenslote moet de group sound nog de benodigde rechten krijgen.
dat geberud in de volgende opdracht
chmod 660 /dev/dsp

Waneer ju nu intiept ls -l /dev/dsp
Dan krijg je het volgende te zien.

-rw-rw---     5 root   sound    14, 3    Oct 11 11:45 /dev/dsp

Het device is nu gereed voor gebruik.

Ehhh.....
Toch nog niet.
n.l. de groupfile word enkel bij het inlogen gelezen.
Je moet dus effe uitloggen en opnieuw inloggen om daadwerkelijk lid te worden van de group SOUND

that's all Folks