GeeksforGeeks

Mikä on ACL?
Käyttäytymisenvalvontaluettelo (ACL) tarjoaa ylimääräisen, joustavamman käyttöoikeusmekanismin tiedostojärjestelmille. Se on suunniteltu auttamaan UNIX-tiedostojen käyttöoikeuksien kanssa. ACL:n avulla voit antaa mille tahansa käyttäjälle tai ryhmälle oikeudet mihin tahansa levyresurssiin.

ACL:n käyttö :
Ajattele skenaariota, jossa tietty käyttäjä ei ole jäsenenä luomassasi ryhmässä, mutta haluat silti antaa luku- tai kirjoitusoikeudet, miten voit tehdä sen tekemättä käyttäjästä ryhmän jäsentä, tässä tulee kuvaan pääsynvalvontaluettelot (Access Control Lists, ACL), ACL:n avulla pystymme toteuttamaan tämän tempauksen.

Periaatteessa ACL-luetteloita käytetään joustavan käyttöoikeusmekanismin luomiseksi Linux:ssa.

Linuxin man-sivujen mukaan ACL:ien avulla voidaan määritellä hienojakoisempia harkinnanvaraisia käyttöoikeuksia tiedostoille ja hakemistoille.

setfacl:ia ja getfacl:ia käytetään ACL:ien asettamiseen ja ACL:ien näyttämiseen.

Esimerkiksi :

getfacl test/declarations.h

Tulos:

# file: test/declarations.h# owner: mandeep# group: mandeepuser::rw-group::rw-other::r--

Luettelo komennoista ACL:n määrittämistä varten :

1) To add permission for usersetfacl -m "u:user:permissions" /path/to/file2) To add permissions for a groupsetfacl -m "g:group:permissions" /path/to/file 3) To allow all files or directories to inherit ACL entries from the directory it is withinsetfacl -dm "entry" /path/to/dir4) To remove a specific entrysetfacl -x "entry" /path/to/file5) To remove all entriessetfacl -b path/to/file

Esimerkiksi :

setfacl -m u:mandeep:rwx test/declarations.h

ACL:n muokkaaminen setfacl:lla :
Lisätäksesi käyttöoikeuksia käyttäjälle (käyttäjä on joko käyttäjän nimi tai tunnus):

# setfacl -m "u:user:permissions" 

Lisätäksesi oikeuksia ryhmälle (ryhmä on joko ryhmän nimi tai ID):

# setfacl -m "g:group:permissions" 

Salliaksesi kaikkien tiedostojen tai hakemistojen periä ACL-merkinnät hakemistosta, jonka sisällä ne ovat:

# setfacl -dm "entry" 

Esimerkki :

setfacl -m u:mandeep:r-x test/declarations.h

Katsokaa alla olevaa kuvaa :

setfacl ja getfacl

Katsele ACL:ää :
Näyttääksesi käyttöoikeudet :

# getfacl filename

Huomaa ero getfacl-komennon tulostuksen välillä ennen ja jälkeen ACL-käyttöoikeuksien määrittämisen setfacl-komennolla.
Käyttäjälle mandeep on lisätty yksi ylimääräinen rivi, joka on korostettu yllä olevassa kuvassa.

Tulos:

muuta käyttöoikeudet

Ylläoleva komento muuttaa käyttöoikeudet rwx:stä r-x:ksi

Poistetaan ACL:n käyttöoikeudet :
Jos halutaan poistaa asetetut ACL-käyttöoikeudet, voidaan asettaa se komennon setfacl avulla, jossa on valintamerkki -b.
Esimerkiksi :

remove set permissions

Jos verrataan getfacl-komennon tulostetta ennen ja jälkeen setfacl-komennon käyttämistä -b-vaihtoehdon kanssa, voit havaita, että myöhemmässä tulosteessa ei ole mitään tiettyä merkintää käyttäjälle mandeep.

Voit myös tarkastaa ls-komennon avulla, jos ACL:n kautta on asetettu ylimääräisiä oikeuksia.

check set acl with ls

Huomaa kuvan ensimmäisessä komentotulosteessa on ylimääräinen ”+”-merkki oikeuksien jälkeen, kuten -rw-rwxr-+, tämä osoittaa, että ACL:ään on asetettu ylimääräisiä oikeuksia, jotka voit tarkistaa getfacl-komennolla.

Default ACL:n käyttäminen :
Default ACL on tietynlainen hakemistolle määritetty käyttöoikeus, joka ei muuta itse hakemiston käyttöoikeuksia, mutta asettaa määritetyt ACL:t oletusarvoisesti kaikkiin hakemiston sisällä luotuihin tiedostoihin. Osoitetaan se : ensin luodaan hakemisto ja määritetään sille oletus ACL käyttämällä -d-vaihtoehtoa:

$ mkdir test && setfacl -d -m u:dummy:rw test
Artikkeli Tunnisteet :

Vastaa

Sähköpostiosoitettasi ei julkaista.