Filrettigheter

Fra GNUskole
Hopp til: navigasjon, søk

Filrettigheter i linux

Skriver ikke så mye om de vanlige ugo-rettighetene og chmod-kommandoen enda. Det får en finne ut selv før en går løs på det som står videre på siden!

Noe om chmod og chown

SGID

En kan markere en katalog med SGID slik at alt som lages i katalogen (filer og nye kataloger) får samme gruppe som moderkatalogen. Du gjør dette ved å sette den første av flaggene i filrettigheter ved hjelp av kommandoen chmod.

chmod 2750 katalog

2 setter på SGID, 7 gir bruker rwx-rettigheter, 5 gir gruppen r-x-rettigheter og 0 gir alle andre ingen rettigheter (---). Det er altså den første som styrer SGID :-)

Sticky bit

Sticky bit på en katalog gjør at ingen andre enn root kan slette eller endre navnet på katalogen. Det kan være kjekt når mange brukere skal ha rettigheter i katalogen, f.eks. et fellesområde.

chmod 1770 /home/felles

Denne gir bruker og gruppe rwx-rettigheter til /home/felles, men 1-tallet i starten setter på Sticky bit og gjør at ingen andre enn brukeren som eier katalogen kan endre eller slette katalogen. Praktisk!

Kombinere SGID og Sticky bit

Du kan lett kombinere SGID og Sticky bit om du skulle ha bruk for det.

chmod 3775 katalognavn

1 (sticky bit) + 2 (SGID) = 3 :-)

acl for linux

setfacl og getfacl

ext2/3 støtter 32 egne acl-oppslag per katalog/fil.

getfacl leser acl-informasjonen fra en fil eller katalog.

setfacl setter acl-informasjon på en fil eller katalogen.

acl og mount

Disker mountes stort sett automatisk med acl på. Men... jeg har opplevd at noen partisjoner ikke har satt dette automatisk. Du kan mountere en partisjon slik for å ha acl på (det er -o acl som er trikset):

mount -o acl /dev/sdb1 /mnt/disk

Du kan sette dette fast på partisjonen med kommandoen:

tune2fs -o acl /dev/sdb1

Triks for fellesområder

Bruke setfacl for å sette rettigheter som arves ned i andre kataloger (og filer):

setfacl -m d:g:fellesgruppe:rwx katalog

Finne alle arkiv-kataloger (de som har navneet 0_Akriv) og gjøre dem lesbare med innhold (ikke skrivbare) for gruppen "fellesgruppe":

find /home/felles -name "0_Arkiv" -exec setfacl -R -m d:g:fellesgruppe:r-x {} \;

Dette er i praksis et triks som gjør at du ikke trenger til stadighet å "oppdatere" fellesområdene (i en cron-jobb) slik at alle får lese- og skrivetilgang. Så lenge de tilhører gruppen som laget katalogen vil brukeren ha full tilgang til katalogen.