ACL-rettigheter

ACL-er er en slags utvidelse til vanlige UNIX-filrettigheter. Selv om UNIX-rettigheter er kraftige, er det noen problemer de ikke løser så bra.

Se for deg at du har en mappe med navn foo. Du vil at gruppen «salg» skal kunne skrive og lese filer i denne mappen. I tillegg vil du at gruppen «konsulenter» skal kunne lese filene, men brukere som ikke er med i noen av disse gruppene ikke skal kunne lese filene i mappen. Dette hadde ikke gått med vanlige UNIX-rettigheter (i hvert fall ikke på en enkel måte).

ACL-er løser dette problemet ved å gi mulighet for å spesifisere rettigheter for flere grupper uavhengig av hverandre. Du kan altså gi gruppen «salg» lese- og skrivetilang, og gruppen «konsulenter» kun lesetilgang.

Under ser du et eksempel hvor filen eid av carlaar:itk også kan leses av uka-httpd, mdb-httpd og erlendps. mdb-httpd kan i tillegg skrive til filen. Dette er til tross for at filen har ikke har noen rettigheter for others.

> getfacl acl.test
# file: acl.test
# owner: carlaar
# group: itk
user::rw-
user:uka-httpd:r-
user:mdb-httpd:rw-
user:erlendps:r--
group:r--
mask::rw-
other::---

Du kan sette og se ACL-er med kommandoene setfacl og getfacl.

En annen stor fordel med ACL-er er at du enkelt kan sette standardrettigheter, altså at alle filene som lages i en mappe får spesifikke rettigheter.

Oppsett av ACL-er på dev-instanser

Her er et forslag til mulig oppsett av ACL-er på dev-instanser:

SSH til cassarossa (det kan også gjøres på cirkus ved bruk av nfs4_acl, men da blir syntaksen helt annerledes):

ssh bruker@cassarossa

Først må du endre eierskap til alle filene så de er eid av deg og din gruppe (merk at -R betyr rekursivt)

chown -R bruker:gruppe mappe

Så må du gi lesetilgang til den brukeren du vil skal kunne lese filene (her gjør stor X at alle mapper får executable)

setfacl -R -m u:uka-httpd:rX mappe

Sett deretter dette som standardrettigheter:

setfacl -d -R -m u:uka-httpd:rX mappe

Så må du ta vekk alle rettigheter fra other:

setfacl -R -m o::0 mappe

Sett også dette som default:

setfacl -R -d -m o::0 mappe

For sider som bruker .htaccess-filer må du gi lesetilgang til www-data:

setfacl -R -m u:www-data:rX mappe

setfacl -R -d -m u:www-data:rX mappe

ACLer over NFSv4

Siden vi kjører NFSv4, støttes ACLer også over NFS. For å sette og bruke kommandoer over NFS kan du bruke kommandoene nfs4_setfacl og nfs4_getfacl, men siden vi kjører NFSv4.2, skal også setfacl og getfacl fungere.

Sider som skal bruke ACL-er

ACL-er TODO

Lenker: Start, innsida, hvordan utvikle, medlemsdb2, hvordan utvikle, ufs, hvordan utvikle, utleggsys

Mail: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2021-03-02 11:25 | Revisjon: 11 (historie, blame) | Totalt: 1712 kB | Rediger