12. 1. 2015

Unix - ACL prístupové práva

V operačných systémoch unixového typu sa nastavujú štandardne práva read, write, execute pre vlastníka, skupinu a ostatných.
Ide o "rwx" reťazec pri výpise súborov.

drwxr-xr-x 2 oracle dba      4096 Jan 7 12:22 obed
drwx------ 2 oracle dba      4096 Jun 10 2014 osmon
drwxrwxrwx 2 oracle dba      4096 Apr 3  2013 pdf
drwxr-xr-x 3 oracle oinstall 4096 Nov 16 2010 .redhat


Existuje však spôsob ako pridať práva len konkrétnemu zoznamu používateľov a v niektorých prípadoch môže byť toto riešenie výhodnejšie ako použitie skupín (group).




Práva pre zoznam používateľov sa nastavujú cez tzv access control list (ACL).

AIX

Pre operačný systém AIX od IBM je použitie nasledovné,
čítanie nastavených práv príkazom aclget:

oracle-aix> aclget adresar1
*
* ACL_type AIXC
*
attributes:
base permissions
   owner(oracle): rwx
   group(dba): ---
   others: ---
extended permissions
   enabled
   permit r-x u:user1

Príklad ukazuje v štandardných právach všetky práva len pre vlastníka súboru (oracle), žiadne ďalšie. V rozšírených právach je povolené čítanie a spúšťanie (vstup do adresára v tomto prípade) aj pre používateľa user1.

Pre nastavenie práv možno použiť interaktívny editor vi s použitím príkazu acledit:

oracle-aix> export EDITOR=/usr/bin/vi
oracle-aix> acledit adresar1


Otvorí v textovom editore vi (alebo inom prednastavenom v premennej prostredia EDITOR) predchádzajúci výpis, ktorý možno upraviť.
Pri ukladaní sa pýta či aplikovať zmeny v právach, tu je potrebné bez preklepu napísať yes.


Použiť možno aj neinteraktívny príkaz aclput.


HP-UX


Čítanie práv ACL pod systémom HP-UX od firmy Hewlett-Packard vykonáme príkazom getacl:
oracle-hpux> getacl adresar1# file: oraw
# owner: oracle
# group: dba
user::rwx
user:user1:r-x
group::---
class:---
other:---


Práva sú rovnaké ako v príklade pre AIX, teda štandardné práva má len vlastník a v rozšírených je uvedený "user1", ktorý môže adresár čítať a vstúpiť doň (r-x).

Nastavenie neinteraktívnym spôsobom:
setacl -m user:user1:rx adresar1

Tento operačný systém zvýrazní vo výpise ACL práva znakom plus:
drwxr-xr-x+ 2 oracle dba 8192 Jul 30 13:14 adresar1
drwxr-xr-x  7 oracle dba 8192 Apr 19  2012 adresar2




Linux


V linuxe fungujú príkazy getfacl a setfacl. Vytvoríme adresár blabla:

oracle-linux> mkdir blabla 
oracle-linux> getfacl blabla
# file: blabla
# owner: oracle
# group: dba
user::rw-
group::rw-
other::r--

Adresáru blabla pridáme práva na čítanie pre používateľa webak:

oracle-linux> setfacl -m user:webak:rx blabla
oracle-linux> getfacl blabla

# file: blabla
# owner: oracle
# group: dba
user::rw-
user:webak:r-x
group::rw-
mask::rwx
other::r--


Na čo si treba dávať pozor, po zmene štandardných práv (chmod) sa deaktivujú ACL práva a je potrebné ich znovu aktivovať. Toto znázorňuje komentár #effective za daným právom.

oracle-linux> chmod 700 blabla
oracle-linux> getfacl blabla

# file: blabla
# owner: oracle
# group: dba
user::rwx
user:webak:r-x #effective:---
group::rw- #effective:---

mask::---
other::---


oracle-linux> setfacl -m user:webak:rx blabla
oracle-linux> getfacl blabla

# file: blabla
# owner: oracle
# group: dba
user::rwx
user:webak:r-x
group::rw-
mask::rwx
other::---


Linux rovnako ako HP-UX zvýrazní nastavenie ACL práv (aj keď niesú aplikované - effective) znamienkom plus. 

oracle-linux> ls -la
drwx------+ 2 oracle dba 4096 Jan 12 14:47 blabla



Effective komentár zobrazuje aj HP-UX.
Ak sa zmenia práva na AIXe, prepne sa stav enabled na disabled:
oracle-aix> aclget adresar1
*
* ACL_type AIXC
*
attributes:
base permissions
   owner(oracle): rwx
   group(dba): r--
   others: ---
extended permissions
   disabled
   permit r-x u:user1



Žiadne komentáre:

Zverejnenie komentára