Access Control List: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Aalamaa (talk | contribs)
Kroasto (talk | contribs)
 
(83 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Pääsupiiramisloend''' <i>(ACL ehk Access Control List)</i> on rida õigusi, mis on lisatud teatud objektile. Pääsupiiramisloend koosneb pääsupiiramiskirjetest, mis iseloomustab operatsioone, mis on kasutajal või grupil keelatud või lubatud. Pääsuloend täpsustab millised kasutajad või süsteemi protsessid on lubatud ligi pääseda teatud objektile ning millised operatsioonid on lubatud teha antud objektiga.


== Kuidas pääsupiiramisloend toimib? ==


Tüüpilises pääsupiiramisloendis määratakse igas kirjes <i>(ACE ehk Access Control Entrie)</i> subjekt <i>(näiteks User või Group)</i> ja sellele kaasnevad õigused. Kui subjekt tahab sooritada mingeid operatsioone antud objektiga siis pääsupiiramisloendil põhinevas turvamudelis operatsioonisüsteem kõigepealt otsib loendist vastavad kirjed, et otsustada kas nõutud operatsioon on lubatud või mitte.
==Autor==


== Pääsupiiramisloendi tüübid ==
2014/2015 Kadri Roasto AK21


=== System Access Control List (SACL) ===
2010 Arvi Alamaa


SACL võimaldab administraatoritel pidada logi selle kohta, kes on üritanud ligipääseda kaitstud objektile ning milliseid operatsioone on seal sooritatud. Kuna iga kirje kajastab, mis tüüpi ligipääsuga on tegemist ning kes üritas ligi pääseda, salvestatakse need andmed logi faili <i>(security event log)</i>, mida saab vaadata Event Viewer's. Pääsuloendi kirjed <i>(Access Control Entries)</i> SACL's saavad genereerida auditi salvestatud kirjeid, kui ligipääsu katse nurjub või õnnestub.
==Sissejuhatus==


=== Discretionary Access Control List (DACL) ===
Antud dokumendis kirjeldatakse Access Control Listi (ACL) ehk pääsupiiramisloendi kasutamist Linux operatsioonisüsteemis. Tegemist on laiendatud failiõigussüsteemiga. Traditsiooniliselt määratakse Linux süsteemi failisüsteemides  kolme tüüpi õiguseid (''read''- lugemine, ''write''- kirjutamine, ''execute''- käivitamine)  omanikule, grupile ja teistele kasutajatele.  ACL võimaldab juurdepääsuõiguseid määrata paindlikumalt. Lisaks omanikule, grupile ja teistele saab ACL-is määrata õigused nimeliselt konkreetsele kasutajale või grupile. ACL käsklusi on võimalik kasutada nii juurkasutaja kui tavakasutaja õigustes. Alljärgneva dokumentatsiooni kasutamiseks on vajalik omada algteadmiseid UNIXi-laadsetest operatsioonisüsteemidest ja käsureast.
Näidetes kasutatud ACL versioon on acl 2.2.52 -1.


DACL ehk valikuline pääsupiiramisloend tähendab seda, et objekti omanikul või loojal on täielik õigus piirata ligipääsu antud objektile, samas ka niimoodi, et ligipääs lubatakse kõikidele teistele. Süsteemil on kohustuslik pääsupiirang siis, kui see allub üle terve süsteemi kehtivatele piirangutele, mis on pääsupiiramisloendis määratletud õigustest tähtsamad. Harilikud pääsupiiramisloendite süsteemid määravad õiguseid üksikutele kasutajatele, mis võib suure kasutajahulga puhul tülikaks osutuda. Uuemas, rollidel põhinevas pääsupiirangus, antakse õiguseid rollidele, ning rolle jaotatakse omakorda kasutajatele.
== Pääsupiiramisloendi kasutamine Linuxi failisüsteemides ==


ACL on kasutatav mitmes Linuxi failisüsteemis nt: EXT2, EXT3, EXT4, XFS, Btfrs, jne.


== Network Access Control List ==
Peamiselt kasutatakse kahte käsku '''getfacl''' ja '''setfacl''' koos võtmetega.


Networking ACL on pääsuloend, mis niiöelda filtreerib võrguliiklust. Ruuter vaatleb igat andmepaketti, et kindlaks teha, kas saata see edasi või jätta see maha, põhinedes pääsuloedisse määratud kriteeriumitest. Pääsuloednisse määratud kriteeriumid võivad olla näiteks kasutaja MAC aaddress, IP aadress ja pordi number.
Tavakasutaja saab laiendatud failiõigustesüsteemi ACL kasutada failide puhul, mille omanik ta on. Juurkasutaja saab laiendatud failiõigustesüsteemi ACL kasutada ka siis kui ta ei ole faili omanik.
[http://www.vanemery.com/Linux/ACL/linux-acl.html [1]]


== Filesystem Access Control List ==
==Käsu formaat ==


Failisüsteemides on peamiseks piiramise vahendiks kasutajatunnus või grupi nimi, kus määratakse nende õigused. Loend on andmestruktuur, harilikult tabel, mis sisaldab kirjeid üksikute kasutajate või rühmade õigustest kindlatele süsteemiobjektidele, nagu programmid, protsessid, või failid. Linux-is, Mac OS X-is, OpenVS-is, ning Windows-is nimetatakse neid kirjeid pääsupiiramiskirjeteks <i>(ingl.k. Access Control Entries)</i>. Igal ligipääsetaval objektil on selle pääsupiiramisloendile suunav tunnus. Kindlaid ligipääsuõiguseid määravad õigused: näiteks kas kasutajal on lubatud objektist lugeda, sinna kirjutada, ning seda käivitada. Mõningad pääsupiiramisloendid on võimelised piirama seda, kas kasutajal või nende rühmal on lubatud objekti pääsupiiramisloendit muuta.


== Kuidas kasutada pääsupiiramisloendit failisüsteemides? ==


Esmalt tuleb valida soovitud objekt mille juurdepääsu soovite piirata. Seejärele vajutage paremat hiireklahvi objektil ning valige "Properties", sealt edasi valige "Security".[[File:Properties.png]]<br>
<font size="4">'''getfacl'''  [võti] fail ...</font>


<font size="4">'''setfacl'''  [võti] { -m|-M|-x|-X ... } fail ...</font>


Uue vahelehe avanedes leiate te nimekirja kasutajatest ja gruppidest ning allpool nendele antud juurdepääsu õigustest. Valides soovitud kasutaja või grupi ning vajutades "Edit" saate muuta vastava kasutaja või grupi juurdepääsuõigusi lisades soovitud pääsupiiramis kirje kastikesse linnukese <i>(sinna klikkides)</i>. Vajutades aga "Advanced" avaneb teile aken uute vahelehtede ja suuremate võimalustega juurdepääsu piiramistega.<br>[[File:Edit.png]]
<h5>Võtmete kirjeldusi</h5>


Mõlemal käsul on võimalik kasutada järgnevaid võtmeid:


Advanced akna avanedes valige soovitud kasutaja või grupp ning vajutage "Change Permissions", et näha spetsiifilisemat pääsupiiramisloendit.[[File:Permission.png]]
{| class="wikitable" border="1" style="border-style:solid; border-color:#EEEEEE;"
|-
| style="width: 150px;" |'''-h'''
|style="width: 150px;" |'''--help'''
|käsu info


Vajutades "Add" saate lisada uue kasutaja või grupi, kellele saate määrata juurdepääsu õigusi. Samuti võttes ära linnukese esimesest kastist <i>("Include inheritable permissions from this object's parents")</i> saate soovitud kaustast eemaldada päritud juurdepääsuõigused, mis tulenevad kausta asukohast. Vajutades "Edit" avaneb aken, kust saate määrata spetsiifiliselt kellele ja milliseid operatsioone lubate.<br>[[File:Advanced Edit.png]]
|-
|'''-v'''
|'''--version'''
|versiooni info 
|}
 
getfacl võtmeid
 
{| class="wikitable" border="1" style="border-style:solid; border-color:#EEEEEE;"
|-
|'''-a'''
|'''--access'''
|kuvab pääsupiiramisloendi
       
 
|-
|'''-c'''
|'''--omit-header'''
|kuvab pääsupiiramisloendi  kommentaarideta (kuvab pääsupiiramisloendi ilma faili, omaniku ning grupi nimeta)     
 
|-
|'''-n'''
|'''--numeric'''
|kuvab pääsupiiramisloendis kasutajate/gruppide numbrilised ID-d
 
|-
|'''-R'''
|'''--recursive'''
|kuvab ka alamkataloogide ACL kirjed
|}
 
settfacl võtmeid
 
{| class="wikitable" border="1" style="border-style:solid; border-color:#EEEEEE;"
|-
|'''-m'''
|'''--modify=acl'''
|muudab kehtivaid ACL õiguste kirjeid failil
 
|-
|'''-M'''
|'''--modify-file=file'''
|muudab faili õigused vastavalt sellele, mida loeb õiguste kirjeid sisaldavast failist       
 
|-
|'''-x'''
|'''--remove=acl'''
|eemaldab ACL õiguste kirjed faililt     
|-
|'''-b'''
|'''--remove-all'''
|eemaldab kõik laiendatud õigused
|-
|'''--set'''
|
|määrab ACL õiguste kirjed failile, asendab kehtivad õigused
|}
[http://linux.die.net/man/1/getfacl [2]][http://linux.die.net/man/1/setfacl [3]]
 
==Näited  ==
 
Näited on teostatud tavakasutaja õigustes, failidele, kus kasutaja on omanik. Näidetes on määratud õigused kasutades tähekombinatsioone: rwx; võib kasutada ka numbrilist õiguste määramist.
 
<h5>Näide 1</h5>
 
* faili/kausta õiguste kuvamine
  <pre size="3">getfacl <faili/kausta_nimi></pre>
* Kuvame kausta nimega test õigused:
<pre size="3">getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
group::rwx
other::r-x
</pre>
 
Tulemuse esimesed kolm rida väljastavad kausta nime, omaniku ning grupi, järgnevad kolm rida näitavad kasutaja, grupi ja teiste õiguseid. See on minimaalne ACL. Hetkel ei ole kuvatud infot, mida ei saaks mõne põhikäsuga.
Järgnevates näidetes on kasutatud sama käsku (getfacl test), et kuvada käskude tulemusi.
 
*määrame konkreetsele kasutajale õigused
 
<pre size="3">setfacl -m u:[kasutaja_nimi]:[õigused] <faili/kausta_nimi></pre>
 
* määrame kasutajale jaan õiguse vaadata ja muuta kausta nimega test:
 
<pre size="3">setfacl -m u:jaan:rw- test</pre>
 
*tulemus
<pre size="3">getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:rw-
group::rwx
mask::rwx
other::r-x
</pre>
Näeme, et pääsupiiramisloendisse on lisandunud kasutaja jaan  õigustega vaadata ja muuta kausta test.
 
*tulemus vaadatuna käsuga ls -l
<pre size="3">drwxrwxr-x+ 2 mari mari 4096 dets  25 14:55 test</pre>
Näeme, et kausta test õiguste lõpus on märk "+", see näitab, et kasutusel on ACL.
 
 
<h5>Näide 2</h5>
 
* määrame konkreetsele kasutajale ja konkreetsele grupile õigused
<pre size="3">setfacl -m u:[kasutaja_nimi]:[õigused],g:[grupi_nimi]:[õigused] <kausta/faili_nimi></pre>
* lisame kasutajale toomas ja grupile tudengid õiguse vaadata ja muuta kausta test
<pre size="3">setfacl -m u:toomas:rw-,g:tudengid:rw- test</pre>
 
*tulemus
<pre size="3">
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:rw-
user:toomas:rw-
group::rwx
group:tudengid:rw-
mask::rwx
other::r-x</pre>
Näeme, et nii kasutaja toomas kui grupp tudengid on  lisandunud pääsupiiramisloendisse. Ning nad on saanud õigused r ja w kaustale test.
<h5>Näide 3</h5>
Mida tähendab pääsupiiramisloendis olev '''mask'''?
Maskiga on võimalik piirata ACLiga loodud kasutaja ja grupi õiguseid (omaniku õiguseid mask ei muuda). Mask määrab maksimaalsed õigused.
* Anname kasutajale jaan ja grupile tudengid nii vaatamise, muutmise kui kausta sisenemise õigused, kuid maskile määrame ainult vaatamise õigused
<pre size="3">setfacl -m u:jaan:rwx,g:tudengid:rwx test</pre>
<pre size="3">setfacl -m mask::r--  test</pre>
 
*tulemus
<pre size="3">
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:rwx #effective:r--
user:toomas:rw- #effective:r--
group::rwx #effective:r--
group:tudengid:rwx #effective:r--
mask::r--
other::r-x
</pre>
Kuigi kasutaja jaan ja grupp tudengid said  õigused: rwx, on maski tõttu neil ainult  õigus:r. Samuti muutis mask ära varem toomasele ning omanik-grupile antud kehtivad õigused (''effective'').
 
 
<h5>Näide 4</h5>
*ACL õiguste eemaldamine
<pre size="3">setfacl -x u:[kasutaja_nimi] <kausta/faili_nimi]</pre>
*eemaldame kasutajatele jaan ja toomas ACL-iga antud õigused
<pre size="3">setfacl -x u:jaan,u:toomas test</pre>
 
*tulemus
<pre size="3">
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
group::rwx
group:tudengid:rwx
mask::rwx
other::r-x
</pre>
Näeme, et jaani ja toomast ei ole enam pääsupiiramisloendis, küll aga on alles grupp tudengid
<h5>Näide 5</h5>
ACL õiguste täielik eemaldamine
<pre size="3">setfacl -b <kausta/faili_nimi></pre>
<pre size="3">setfacl -b test</pre>
 
*tulemus
<pre size="3">
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
group::rwx
other::r-x</pre>
Algne vaade on taastatud
 
<h5>Näide 6</h5>
*määrame kaustale/ failile uued õigused
<pre size="3">setfacl --set u::[õigused],g::[õigused],o::[õigused],u:[kasutaja_nimi]:[õigused] <kausta/faili_nimi></pre>
* määrame kaustale test uued õigused kasutades --set võtit. Antud võtit kasutades tuleb kindlasti määrata ka omaniku, grupi ning teiste õigused.
<pre size="3">setfacl --set u::rwx,g::rw,o::-,u:jaan:r test</pre>
 
*tulemus
<pre size="3">
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:r--
group::rw-
mask::rw-
other::---</pre>
<h5>Näide 7</h5>
Kui on vajalik kasutada sarnaseid õiguseid mitmel korral tasub töö lihtsustamiseks luua tekstifail, mis sisaldab ACL õiguste kirjeid.
Nt võib faili sisu olla selline
<pre size="3">user:jaan:rw-
user:toomas:rw-
group:tudengid:r--
mask::rw-
other::---
</pre>
*Failis kirjeldatud õiguste kasutamine
<pre size="3">setfacl -M <fail_kus_on_õiguste_kirjeldus> <fail_millele_määran_õigused></pre>
*määran failis minu_acl kirjeldatud õigused failidele test1, test2, test3
 
<pre size="3">setfacl -M minu_acl test*</pre>
 
*tulemus
<pre size="3">
getfacl test1
 
# file: test1
# owner: mari
# group: mari
user::rw-
user:jaan:rw-
user:toomas:rw-
group::rw-
group:tudengid:r--
mask::rw-
other::---</pre>
Sama tulemus on ka test2 ja test3 vaates.
 
[http://www.vanemery.com/Linux/ACL/linux-acl.html [1]]
 
==Faili liigutamine ja kopeerimine  ==
 
*mv käsklus säilitab ACL-iga määratud õigused alati kui see on võimalik, kui võimalus puudub, siis kuvatakse hoiatus
*[https://wiki.itcollege.ee/index.php/Cp cp]  säilitab ACL õigused, kui seda kasutatakse koos võtmega -p, kui õiguste säilitamine ei ole võimalik kuvatakse hoiatus.
[http://linux.die.net/man/5/acl [4]]
 
==Kokkuvõte==
 
ACL võimaldab paindlikumalt juurdepääsuõiguseid määrata ning lubab seda teha ka tavakasutajal.
Lihtsustab tööd nt juhul kui tehakse ühist projekti ja projekti faile hoitakse ühe kasutaja kodukaustas. Võimaldab kodukausta omanikul määrata õigused teistele projektis osalevatele kasutajatele ilma juurkasutaja poole pöördumata.


== Kasutatud kirjandus ==
== Kasutatud kirjandus ==
* http://en.wikipedia.org/wiki/Access_control_list
 
* http://msdn.microsoft.com/en-us/library/aa374872(v=VS.85).aspx
# http://www.vanemery.com/Linux/ACL/linux-acl.html
* http://www.cisco.com/en/US/docs/ios/11_3/security/configuration/guide/scacls.html#wp1834
#http://linux.die.net/man/1/getfacl
* http://www.pcguide.com/ref/hdd/file/ntfs/secAccess-c.html
#http://linux.die.net/man/1/setfacl
* http://alt.pluralsight.com/wiki/default.aspx/Keith.GuideBook/WhatIsAnAccessControlList.html
#http://linux.die.net/man/5/acl
* http://setacl.sourceforge.net/html/doc-basics.html
 
* http://www.tekbar.net/hackers-and-security/acl-enhance-safety-margin.html
 
 
 
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 19:07, 14 January 2015


Autor

2014/2015 Kadri Roasto AK21

2010 Arvi Alamaa

Sissejuhatus

Antud dokumendis kirjeldatakse Access Control Listi (ACL) ehk pääsupiiramisloendi kasutamist Linux operatsioonisüsteemis. Tegemist on laiendatud failiõigussüsteemiga. Traditsiooniliselt määratakse Linux süsteemi failisüsteemides kolme tüüpi õiguseid (read- lugemine, write- kirjutamine, execute- käivitamine) omanikule, grupile ja teistele kasutajatele. ACL võimaldab juurdepääsuõiguseid määrata paindlikumalt. Lisaks omanikule, grupile ja teistele saab ACL-is määrata õigused nimeliselt konkreetsele kasutajale või grupile. ACL käsklusi on võimalik kasutada nii juurkasutaja kui tavakasutaja õigustes. Alljärgneva dokumentatsiooni kasutamiseks on vajalik omada algteadmiseid UNIXi-laadsetest operatsioonisüsteemidest ja käsureast. Näidetes kasutatud ACL versioon on acl 2.2.52 -1.

Pääsupiiramisloendi kasutamine Linuxi failisüsteemides

ACL on kasutatav mitmes Linuxi failisüsteemis nt: EXT2, EXT3, EXT4, XFS, Btfrs, jne.

Peamiselt kasutatakse kahte käsku getfacl ja setfacl koos võtmetega.

Tavakasutaja saab laiendatud failiõigustesüsteemi ACL kasutada failide puhul, mille omanik ta on. Juurkasutaja saab laiendatud failiõigustesüsteemi ACL kasutada ka siis kui ta ei ole faili omanik. [1]

Käsu formaat

getfacl  [võti] fail ...
setfacl  [võti] { -m|-M|-x|-X ... } fail ...
Võtmete kirjeldusi

Mõlemal käsul on võimalik kasutada järgnevaid võtmeid:

-h --help käsu info
-v --version versiooni info

getfacl võtmeid

-a --access kuvab pääsupiiramisloendi


-c --omit-header kuvab pääsupiiramisloendi kommentaarideta (kuvab pääsupiiramisloendi ilma faili, omaniku ning grupi nimeta)
-n --numeric kuvab pääsupiiramisloendis kasutajate/gruppide numbrilised ID-d
-R --recursive kuvab ka alamkataloogide ACL kirjed

settfacl võtmeid

-m --modify=acl muudab kehtivaid ACL õiguste kirjeid failil
-M --modify-file=file muudab faili õigused vastavalt sellele, mida loeb õiguste kirjeid sisaldavast failist
-x --remove=acl eemaldab ACL õiguste kirjed faililt
-b --remove-all eemaldab kõik laiendatud õigused
--set määrab ACL õiguste kirjed failile, asendab kehtivad õigused

[2][3]

Näited

Näited on teostatud tavakasutaja õigustes, failidele, kus kasutaja on omanik. Näidetes on määratud õigused kasutades tähekombinatsioone: rwx; võib kasutada ka numbrilist õiguste määramist.

Näide 1
  • faili/kausta õiguste kuvamine
getfacl <faili/kausta_nimi>
  • Kuvame kausta nimega test õigused:
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
group::rwx
other::r-x

Tulemuse esimesed kolm rida väljastavad kausta nime, omaniku ning grupi, järgnevad kolm rida näitavad kasutaja, grupi ja teiste õiguseid. See on minimaalne ACL. Hetkel ei ole kuvatud infot, mida ei saaks mõne põhikäsuga. Järgnevates näidetes on kasutatud sama käsku (getfacl test), et kuvada käskude tulemusi.

  • määrame konkreetsele kasutajale õigused
setfacl -m u:[kasutaja_nimi]:[õigused] <faili/kausta_nimi>
  • määrame kasutajale jaan õiguse vaadata ja muuta kausta nimega test:
setfacl -m u:jaan:rw- test
  • tulemus
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:rw-
group::rwx
mask::rwx
other::r-x

Näeme, et pääsupiiramisloendisse on lisandunud kasutaja jaan õigustega vaadata ja muuta kausta test.

  • tulemus vaadatuna käsuga ls -l
drwxrwxr-x+ 2 mari mari 4096 dets  25 14:55 test

Näeme, et kausta test õiguste lõpus on märk "+", see näitab, et kasutusel on ACL.


Näide 2
  • määrame konkreetsele kasutajale ja konkreetsele grupile õigused
setfacl -m u:[kasutaja_nimi]:[õigused],g:[grupi_nimi]:[õigused] <kausta/faili_nimi>
  • lisame kasutajale toomas ja grupile tudengid õiguse vaadata ja muuta kausta test
setfacl -m u:toomas:rw-,g:tudengid:rw- test
  • tulemus
 getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:rw-
user:toomas:rw-
group::rwx
group:tudengid:rw-
mask::rwx
other::r-x

Näeme, et nii kasutaja toomas kui grupp tudengid on lisandunud pääsupiiramisloendisse. Ning nad on saanud õigused r ja w kaustale test.

Näide 3

Mida tähendab pääsupiiramisloendis olev mask? Maskiga on võimalik piirata ACLiga loodud kasutaja ja grupi õiguseid (omaniku õiguseid mask ei muuda). Mask määrab maksimaalsed õigused.

  • Anname kasutajale jaan ja grupile tudengid nii vaatamise, muutmise kui kausta sisenemise õigused, kuid maskile määrame ainult vaatamise õigused
setfacl -m u:jaan:rwx,g:tudengid:rwx test
setfacl -m mask::r--  test
  • tulemus
 getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:rwx			#effective:r--
user:toomas:rw-			#effective:r--
group::rwx			#effective:r--
group:tudengid:rwx		#effective:r--
mask::r--
other::r-x

Kuigi kasutaja jaan ja grupp tudengid said õigused: rwx, on maski tõttu neil ainult õigus:r. Samuti muutis mask ära varem toomasele ning omanik-grupile antud kehtivad õigused (effective).


Näide 4
  • ACL õiguste eemaldamine
setfacl -x u:[kasutaja_nimi] <kausta/faili_nimi]
  • eemaldame kasutajatele jaan ja toomas ACL-iga antud õigused
setfacl -x u:jaan,u:toomas test
  • tulemus
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
group::rwx
group:tudengid:rwx
mask::rwx
other::r-x

Näeme, et jaani ja toomast ei ole enam pääsupiiramisloendis, küll aga on alles grupp tudengid

Näide 5

ACL õiguste täielik eemaldamine

setfacl -b <kausta/faili_nimi>
setfacl -b test
  • tulemus
 getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
group::rwx
other::r-x

Algne vaade on taastatud

Näide 6
  • määrame kaustale/ failile uued õigused
setfacl --set u::[õigused],g::[õigused],o::[õigused],u:[kasutaja_nimi]:[õigused] <kausta/faili_nimi>
  • määrame kaustale test uued õigused kasutades --set võtit. Antud võtit kasutades tuleb kindlasti määrata ka omaniku, grupi ning teiste õigused.
setfacl --set u::rwx,g::rw,o::-,u:jaan:r test
  • tulemus
getfacl test
# file: test
# owner: mari
# group: mari
user::rwx
user:jaan:r--
group::rw-
mask::rw-
other::---
Näide 7

Kui on vajalik kasutada sarnaseid õiguseid mitmel korral tasub töö lihtsustamiseks luua tekstifail, mis sisaldab ACL õiguste kirjeid. Nt võib faili sisu olla selline

user:jaan:rw-
user:toomas:rw-
group:tudengid:r--
mask::rw-
other::---
  • Failis kirjeldatud õiguste kasutamine
setfacl -M <fail_kus_on_õiguste_kirjeldus> <fail_millele_määran_õigused>
  • määran failis minu_acl kirjeldatud õigused failidele test1, test2, test3
setfacl -M minu_acl test*
  • tulemus
getfacl test1

# file: test1
# owner: mari
# group: mari
user::rw-
user:jaan:rw-
user:toomas:rw-
group::rw-
group:tudengid:r--
mask::rw-
other::---

Sama tulemus on ka test2 ja test3 vaates.

[1]

Faili liigutamine ja kopeerimine

  • mv käsklus säilitab ACL-iga määratud õigused alati kui see on võimalik, kui võimalus puudub, siis kuvatakse hoiatus
  • cp säilitab ACL õigused, kui seda kasutatakse koos võtmega -p, kui õiguste säilitamine ei ole võimalik kuvatakse hoiatus.

[4]

Kokkuvõte

ACL võimaldab paindlikumalt juurdepääsuõiguseid määrata ning lubab seda teha ka tavakasutajal. Lihtsustab tööd nt juhul kui tehakse ühist projekti ja projekti faile hoitakse ühe kasutaja kodukaustas. Võimaldab kodukausta omanikul määrata õigused teistele projektis osalevatele kasutajatele ilma juurkasutaja poole pöördumata.

Kasutatud kirjandus

  1. http://www.vanemery.com/Linux/ACL/linux-acl.html
  2. http://linux.die.net/man/1/getfacl
  3. http://linux.die.net/man/1/setfacl
  4. http://linux.die.net/man/5/acl