Usean käyttäjän järjestelmille voi tulla tarve hienojakoisemmalle järjestelylle kuin Linuxin tavallinen tiedostojen käyttöoikeuksienhallinta tarjoaa. Tällöin voidaan ottaa käyttöön ACL eli Access Control List.
Kaikille käyttäjille vapaa hakemisto:
Esimerkissä on käytetty erillistä kovalevyä jonka liityntäpiste on /media/storage ja tänne luodaan kansio Shared johon asetetaan kaikille käyttäjille luku- ja kirjoitusoikeudet.
Avaa tekstieditorillasi tiedosto /etc/fstab ja etsi tai luo kohteena olevan liityntäpisteen asetukset.
user@foo:~$ nano /etc/fstab
Esimerkissä käytetty liityntäpiste on luotu jo aikaisemmin ja näyttää tältä
UUID=7ff7395f-16fd-4cd7-a039-b15fdc17990d /media/storage ext3 noatime,nosuid,noexec 0 2
Asetuksiin lisätään kohta "acl".
UUID=7ff7395f-16fd-4cd7-a039-b15fdc17990d /media/storage ext3 noatime,nosuid,noexec,acl 0 2
Liitetään kohde järjestelmään komennolla mount /media/storage tai jos kohde on jo liitetty aikaisemmin niin se täytyy uudelleen liittää komennolla mount /media/storage -o remount.
Seuraavaksi luodaan kohdekansio ja annetaan tähän kansioon kaikille käyttäjille ja ryhmille luku-, kirjoitus ja suoritusoikeudet.
user@foo:/media/storage$ mkdir Shared user@foo:/media/storage$ chmod 777 Shared
Tämä antaa kaikille käyttäjille täydet luku- ja kirjoitusoikeudet kansioon. Kuitenkin eri käyttäjien luodessa tiedostoja tai kansioita kohdekansion sisälle, nämä asettuvat tiedoston tai kansion luoneen käyttäjän nimiin ja näin toisilla käyttäjillä on vain lukuoikeuksia luotuihin tiedostoihin tai kansioihin.
Oikeuksia voidaan kuitenkin muuttaa ACL:ien avulla jolloin
getfacl komennolla voidaan listata kansion tai tiedoston nykyiset käyttöoikeudet.
user@foo:/media/storage$ getfacl Shared # file: Shared # owner: user # group: user user::rwx group::rwx other::rwx
Listasta näkee kuinka aikaisemmin käytetty chmod 777 Shared komennolla on annettu kaikille käyttäjille oikeudet kansioon. Tämä ei kuitenkaan riitä vaan kansion ACL-oikeuksiin on lisättävä tieto kansioon luotavien kansioiden ja tiedostojen perusoikeudet (default), tähän käytetään komentoa setfacl.
Esimerkissä helpointa on suoraan kopioida Shared-kansion oikeudet perusoikeuksiksi ja tarkistaa voimassa olevat oikeudet.
user@foo:/media/storage$ getfacl --access dir | setfacl -d -M- dir user@foo:/media/storage$ getfacl Shared # file: Shared # owner: user # group: user user::rwx group::rwx other::rwx default:user::rwx default:group::rwx default:other::rwx
Nyt /media/storage/Shared kansioon luodut kansiot ja tiedostot ovat perusoikeuksilla järjestelmän kaikkien käyttäjien luettavissa, muokattavissa ja poistettavissa.