ACL - Access Control List

Onderwerp voor de meer dan gevorderden onder u.

ACL - Access Control Lists
bestaan in windows voor het regelen van toegangsrechten op files en directories
in linux herken je dat aan de + in drwxr-wr-x + of -rw-r--r--+
https://wiki.archlinux.org/index.php/Access_Control_Lists
http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/
https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-acls-setting.html

Normale linux gebruikers hebben met ACL's niets te maken (denk ik >;-)

De handleidingen van Samba bevatten uistekende uitleg over
bestand zaken en rechten daarop, zowel voor windows als voor Linux
en de combinatie ervan.
Zie oa
https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/StandAloneServer.html
https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/ClientConfig.html
https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/groupmapping.html
https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/rights.html
https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/AccessControls.html

de paragraaf met "Windows NT/2000/XP ACLs" met daarin :
"Windows ... has a file-protection system that is essentially no protection at all."

Met de linux terminal commando's getfacl en setfacl kun je acl rechten bekijken en wijzigen.
voor de opties nodig zie man setfacl op de computer waarop je ze wilt toepassen. Komt nogal nauw.

Met onderstaande commando's heb ik ACL's verwijderd uit een directorie structuur :
en de linux rechten weer in orde gemaakt.
Aanleiding hier voor : Zie het kladblok verhaal  Nas Perikelen



ACL - Access Control Lists - Commando's

De handleiding

In de terminal opvragen :
man getfacl
man setfacl


laat acl rechten zien
getfacl bestandofdirectorie

delete all ACL's with
setfacl -bR bestandofdirectorie

geef user hans de rw rechten op bestandofdirectorie
setfacl -m "u:hans:rwx" bestandofdirectorie

Voorbeelden

Niet uitgewerkt verder.
setfacl -b mijnmap
cd mijnmap

Gebruik nooit een * achter setfacl
Dus serfacl -bR * IS VERBODEN
want het neemt alles in de bovenliggende directory ook mee.
Doe maar een ls -l en zie daar de regel met twee puntjes ..
die neemt ie ook mee

dus gebruik [a-z]*
dat neem alles mee wat met een letter begint
of
[a-z1-9]*
maar nooit = NOOIT : * met setfacl.

Bestandsrechten wijzigen

Om de bestandsrechten van files en directories op de commandline te wijzigen :

alle files -rw-r--r-- geven :
find . -type f  -exec chmod 644 {} \;

alle directories -rwx-r-xr-x geven :
find . -type d  -exec chmod 755 {} \;

Eigenaar en group wijzigen

Ook hier geen * gebruiken !!!
chown -R user.group fileofdirectorynaam
bijvoorbeeld
chown -R root.users [a-z1-9]*

 
setfacl -b .
setfacl -b ..
setfacl -bR [a-z]*

chgrp -R users <mount_point>
setfacl -d -m g::rwx <mount_point>
setfacl -R -d -m u::rwx,g::rwx,o::rwx <mount_point>

chown -R root.users [a-z]*
chown root.users ..
chmod 770 -R [a-z]*
chmod 770 .
chmod 770 ..
 
ls -laR
cd ..
ls -la
Comments