abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 00:44 | Pozvánky

V sobotu 21. října 2017 se na půdě Elektrotechnické fakulty ČVUT v Praze uskuteční RT-Summit – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt.

… více »
Pavel Píša | Komentářů: 1
včera 23:44 | Bezpečnostní upozornění

V Linuxu byla nalezena bezpečnostní chyba CVE-2017-15265 zneužitelná k lokální eskalaci práv. Jedná se o chybu v části ALSA (Advanced Linux Sound Architecture).

Ladislav Hagara | Komentářů: 1
včera 22:44 | Komunita

Greg Kroah-Hartman informuje na svém blogu, že do zdrojových kódu linuxového jádra bylo přidáno (commit) prohlášení Linux Kernel Enforcement Statement. Zdrojové kódy Linuxu jsou k dispozici pod licencí GPL-2.0. Prohlášení přidává ustanovení z GPL-3.0. Cílem je chránit Linux před patentovými trolly, viz například problém s bývalým vedoucím týmu Netfilter Patrickem McHardym. Více v často kladených otázkách (FAQ).

Ladislav Hagara | Komentářů: 3
včera 22:04 | Pozvánky

Rádi bychom vás pozvali na přednášku o frameworku Avocado. Jedná se o testovací framework další generace, inspirovaný Autotestem a moderními vývojovými nástroji, jako je třeba git. Přednáška se bude konat 23. října od 17 hodin na FEL ČVUT (Karlovo náměstí, budova E, auditorium K9 – KN:E 301). Více informací na Facebooku.

… více »
mjedlick | Komentářů: 0
včera 21:44 | Bezpečnostní upozornění

Nový útok na WPA2 se nazývá KRACK a postihuje prakticky všechna Wi-Fi zařízení / operační systémy. Využívá manipulace s úvodním handshake. Chyba by měla být softwarově opravitelná, je nutné nainstalovat záplaty operačních systémů a aktualizovat firmware zařízení (až budou). Mezitím je doporučeno používat HTTPS a VPN jako další stupeň ochrany.

Václav HFechs Švirga | Komentářů: 2
15.10. 00:11 | Zajímavý projekt

Server Hackaday představuje projekt RainMan 2.0, aneb jak naučit Raspberry Pi 3 s kamerovým modulem pomocí Pythonu a knihovny pro rozpoznávání obrazu OpenCV hrát karetní hru Blackjack. Ukázka rozpoznávání karet na YouTube. Zdrojové kódy jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 0
14.10. 15:11 | IT novinky

Online obchod s počítačovými hrami a elektronickými knihami Humble Bundle byl koupen společností IGN. Dle oficiálních prohlášení by měl Humble Bundle dále fungovat stejně jako dosud.

Ladislav Hagara | Komentářů: 8
14.10. 06:00 | Zajímavý článek

Brendan Gregg již v roce 2008 upozornil (YouTube), že na pevné disky se nemá křičet, že jim to nedělá dobře. Plotny disku se mohou rozkmitat a tím se mohou prodloužit časy odezvy pevného disku. V září letošního roku proběhla v Buenos Aires konference věnovaná počítačové bezpečnosti ekoparty. Alfredo Ortega zde demonstroval (YouTube, pdf), že díky tomu lze pevný disk použít také jako nekvalitní mikrofon. Stačí přesně měřit časy odezvy

… více »
Ladislav Hagara | Komentářů: 7
13.10. 14:33 | Komunita

Společnost SUSE natočila a na YouTube zveřejnila dva nové videoklipy: 25 Years - SUSE Music Video (7 Years parody) a Linus Said - Music Parody (Momma Said).

Ladislav Hagara | Komentářů: 6
13.10. 12:55 | Zajímavý projekt

Autoři stránky Open Source Game Clones se snaží na jednom místě shromažďovat informace o open source klonech proprietárních počítačových her. Přidat další hry nebo návrhy na zlepšení lze na GitHubu. Na stránce Open Source Text Games jsou shromažďovány informace o open source textových hrách. Opět lze k vylepšení nebo doplnění stránky použít GitHub.

Ladislav Hagara | Komentářů: 1
Těžíte nějakou kryptoměnu?
 (6%)
 (2%)
 (15%)
 (76%)
Celkem 717 hlasů
 Komentářů: 24, poslední 27.9. 08:30
    Rozcestník

    ACL prakticky

    11. 12. 2008 | Tomáš Crhonek | Bezpečnost | 56069×

    Tam, kde tradiční práva v Linuxu přestávají stačit, je možno použít práva rozšířená (ACL - access control list). Obzvláště v systému s mnoha uživateli a různými rolemi se rozšířeným právům zpravidla nevyhneme.

    Obsah

    Klasická práva

    link

    V klasických právech má soubor či adresář tyto skupiny oprávnění:

    • vlastník (uživatel)
    • skupina (skupina uživatelů)
    • ostatní

    Každá tato skupina může mít nastavenu kombinaci těchto práv pro

    • čtení
    • zápis
    • spuštění (u adresáře přístup)

    Dále může mít objekt přiřazeny speciální bity: setuid, setgid, sticky.

    Příklad klasických práv: Vlastník je uživatel ondra, který má práva pro čtení i zápis, dále soubor mohou číst členové skupiny uzivatele. Ostatní nemají k obsahu souboru přístup.

    [tomas@centos]$ ls -l soubor
    -rw-r----- 1 ondra uzivatele 0 Nov 19 16:08 soubor
    

    Nastavení těchto práv je v klasickém systému dosaženo příkazy chmod (změna práv) a chown (změna vlastníka, změnu může provést pouze root):

    [root@centos]# chown ondra:uzivatele soubor
    [root@centos]# chmod 750 soubor
    

    Na jednoduché přiřazení práv se klasická práva výborně hodí, avšak selhávají i ve velmi jednoduchých případech, např: určit dva uživatele s právem pro zápis a čtení, dalšími vyjmenovanými uživateli s právem pouze pro čtení a ostatní bez přístupu. Tuto situaci řeší ACL velmi jednoduše.

    Podpora ACL systémy souborů

    link

    Všechny hlavní systémy souborů v Linuxu (ext3, XFS, JFS, ReiserFS) ACL zvládají. U souborového systému ext3 je potřeba nastavit parametry mountu, což lze provést buď v /etc/fstab, nebo utilitkou tune2fs.

    [root@centos]# tune2fs -o acl /dev/sdxy

    A remountovat (znovu připojit) oddíl: mount / -o remount.

    Pro správu rozšířených práv jsou určeny příkazy setfacl a getfacl z balíku acl.

    Rozšířená práva

    link

    Přidávají ke klasickým právům vlastníka a skupiny zejména práva dalších uživatelů, skupin a také výchozí práva (pro adresáře). Dále je možné nastavit masku práv.

    ACL záznamy se přidávají příkazem setfacl s parametrem -m. Záznamy mají tvar user:"jmeno uzivatele":"prava". Je možné použít i zkrácený tvar, místo user lze použít u, místo group stačí g atd. Záznamy bez uživatele nebo skupiny se zadávají ve tvaru mask:"práva".

    Práva se zadávají ve tvaru rwx (jakákoliv libovolná kombinace práv pro čtení, zápis a spouštění). "Prázdná" práva se zadávají ve tvaru ---.

    Příkaz getfacl na soubor použitý v předchozím příkladu vypíše:

    [root@centos]# getfacl soubor
    # file: soubor
    # owner: ondra
    # group: uzivatele
    user::rw-
    group::r--
    other::---
    

    Zatím nic nového. Soubor vlastní uživatel ondra s právy rw, skupina uzivatele s právem jen pro čtení (r) a ostatní bez práv. Tedy přesně tak, jak bylo nastaveno pomocí klasických práv.

    Práva uživatele

    link

    Nyní budeme požadovat, aby měl do daného souboru přístup pro zápis též uživatel milos:

    [root@centos]# setfacl -m user:milos:rw soubor
    [root@centos]# getfacl soubor
    # file: soubor
    # owner: ondra
    # group: uzivatele
    user::rw-
    user:milos:rw-
    group::r--
    mask::rw-
    other::---
    

    Ve výpisu přibyl jednak přidaný záznam pro uživatele milos a také maska. Výpis přes ls -l soubor v tuto chvíli zobrazuje nepřesné informace o právech a znakem '+' informuje o použití rozšířených práv:

    [root@centos]# ls -l
    -rw-rw----+ 1 ondra uzivatele    0 Nov 19 16:08 soubor
    

    Maska

    link

    Maska je filtr práv, princip je jasný z příkladu:

    Uživatelská práva user:simona:r-x r-x
    Maska mask::rw- rw-
    Skutečná práva Simony r--

    Uživatel simona nemůže soubor spouštět i přes to, že má přiřazeno právo ke spouštění. Nastavená maska práv jí to ruší.

    O omezení práv (resp. o efektivních - skutečných - právech) z důvodu masky informuje i výpis getfacl, např:

    user::r-x                      #effective:r--
    

    Maska se v praxi příliš nepoužívá. Obvykle se tedy nastavuje na rwx.

    Práva skupiny

    link

    Podobně jako právo pro uživatele můžeme přidat práva pro skupinu. Chceme, aby do souboru mohli zapisovat též uživatelé ve skupině kamaradi:

    [root@centos]# setfacl -m group:kamaradi:rw soubor
    getfacl soubor
    # file: soubor
    # owner: ondra
    # group: uzivatele
    user::rw-
    user:milos:rw-
    group::r--
    group:kamaradi:rw
    mask::rw
    other::---
    

    Výchozí práva

    link

    Jsou přiřazena k adresáři a sama o sobě neřídí přístup. Jejich smysl je v přiřazení práv k souborům a dalším podadresářům.

    S výchozími právy je systémem zacházeno dvojím způsobem:

    • Podadresář zdědí výchozí práva z rodičovského adresáře a též je použije jako svá přístupová práva.
    • Soubor vytvořený v adresáři s výchozími právy je pouze zdědí jako svá přístupová práva.

    Výchozí ACL záznamy se přidávají příkazem setfacl s parametry -d -m, za nimiž následuje již známý zápis práv.

    Příklad: máme adresář, do kterého chceme udělit přístup uživatelům ve skupině kamaradi, kteří tam budou vytvářet soubory tak, aby je ostatní uživatelé v této skupině mohli měnit. Dále požadujeme, aby další uživatelé ve skupině uzivatele měli možnost tyto soubory číst. Ostatní nebudou mít přístup.

    Vytvoření adresáře, přiřazení práv pro skupinu kamaradi a přidání výchozích práv téže skupině.

    [root@centos]# mkdir Spolecny
    [root@centos]# setfacl -m group:kamaradi:rwx Spolecny
    [root@centos]# setfacl -d -m group:kamaradi:rwx Spolecny
    

    Dále přidáme práva pro čtení a odpovídající výchozí záznam pro skupinu uzivatele:

    [root@centos]# setfacl -m group:uzivatele:rx Spolecny
    [root@centos]# setfacl -d -m group:uzivatele:rx Spolecny
    

    A nakonec je třeba upravit práva pro ostatní.

    [root@centos]# setfacl -m other:--- Spolecny
    [root@centos]# setfacl -d -m other:--- Spolecny
    

    Práva adresáře po těchto úpravách vypadají takto:

    [root@centos]# getfacl Spolecny/
    # file: Spolecny
    # owner: root
    # group: root
    user::rwx
    group::r-x
    group:kamaradi:rwx
    group:uzivatele:r-x
    mask::rwx
    other::---
    default:user::rwx
    default:group::r-x
    default:group:kamaradi:rwx
    default:group:uzivatele:r-x
    default:mask::rwx
    default:other::---
    

    Soubor vytvořený v adresáři Spolecny uživatelem milos, který je ve skupině kamaradi, bude pak mít práva:

    [root@centos]# su milos
    [milos@centos]$ touch milosuv_soubor
    [milos@centos]$ getfacl milosuv_soubor
    # file: milosuv_soubor
    # owner: milos
    # group: milos
    user::rw-
    group::r-x                      #effective:r--
    group:kamaradi:rwx              #effective:rw-
    group:uzivatele:r-x             #effective:r--
    mask::rw-
    other::---
    

    K tomuto souboru jsou nastavena práva tak, jak bylo v zadání s tím, že došlo k omezení práv na rw místo očekávaného rwx. Toto je způsobeno nastavením umask v systému (více viz man umask). Soubory se standardně vytvářejí jako nespustitelné. Pro nastavení práv spouštění lze použít třeba chmod u+x,g+x milosuv_soubor. Nebo opět pomocí setfacl.

    Nově vytvořený podadresář pak má práva:

    [milos@centos]$ mkdir Milosuv_Adresar
    [milos@centos]$ getfacl Milosuv_Adresar/
    # file: Milosuv_Adresar
    # owner: milos
    # group: milos
    user::rwx
    group::r-x
    group:kamaradi:rwx
    group:uzivatele:r-x
    mask::rwx
    other::---
    default:user::rwx
    default:group::r-x
    default:group:kamaradi:rwx
    default:group:uzivatele:r-x
    default:mask::rwx
    default:other::---
    

    Nově vytvořený adresář zdědil jak přístupová práva, tak i výchozí záznamy.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    11.12.2008 08:30 Maverick
    Rozbalit Rozbalit vše Re: ACL prakticky

    Lze v Linuxu řešit nějakým způsobem dědění práv v již vytvořených adresářích? např:

    - změna práv adresáře nastaví práva v souborech

    - při kopírování soborů do adresáře kopírovaný soubor zdědí práva 'nového' adresáře?

    Velmi mi chybí nastavování práv ala Novell Netware. Pokud to nelze čistě přes ACL filesystemu, existuje nějaká spolehlivá finta?

    11.12.2008 10:28 tezkatlipoka | skóre: 35
    Rozbalit Rozbalit vše Re: ACL prakticky

    1/ samo nikoliv, ale pokud menis prava na adresari pouzijes parametr -R pro rekursivni nahrani prav vsech podadresarum a souborum

    2/cekal jsem ze ano, ale zda se ze nikoliv, ale mozna to je muj problem, ACL pouzivam totiz pouze u SMB sdileni, a cast nastaveni ACL, dedicnost, apod. resim pres Sambu

    Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
    11.12.2008 11:01 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky
    Ad 2: problém je v tom, že defaultní ACL sice zajistí správné nastavení práv při vytvoření nového souboru, ale příkaz cp je pak přepíše víceméně v souladu s právy kopírovaného souboru. Pokud se proces rozhodne práva dodatečně změnit, je proti tomu samozřejmě nastavení defaultního ACL bezmocné.
    11.12.2008 11:11 tezkatlipoka | skóre: 35
    Rozbalit Rozbalit vše Re: ACL prakticky

    problem taky muze byt v tom ze jsem vocas, a kopiroval jsem to v MC, a to ted nevim jestli je s podporou ACL.

    Vaše řeč budiž ano, ano, ne, ne. Co je nad to, je od ďábla.
    11.12.2008 11:21 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: ACL prakticky

    Ovšem cp z coreutils nic takové standardně nedělá. To by ho k tomu musel uživatel donutit přepínačem -p.

    Zkoušel jsem si to a verze 6.12 se chová dle očekávání (tj. v rozporu s tím, na co si stěžoval předřečník):

    $ strace cp testfile  testdir/
    […]
    open("testfile", O_RDONLY|O_LARGEFILE)  = 3
    fstat64(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
    open("testdir/testfile", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0755) = 4
    fstat64(4, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
    read(3, ""..., 4096)                    = 0
    llistxattr("testfile", (nil), 0)        = 0
    llistxattr("testfile", 0xbf9810a0, 0)   = 0
    close(4)                                = 0
    close(3)                                = 0

    a na proti tomu:

    $ strace cp -p testfile  testdir/
    […]
    open("testfile", O_RDONLY|O_LARGEFILE)  = 3
    fstat64(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
    open("testdir/testfile", O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0700) = 4
    fstat64(4, {st_mode=S_IFREG|0700, st_size=0, ...}) = 0
    read(3, ""..., 4096)                    = 0
    utimensat(4, NULL, {{1228989937, 0}, {1228989937, 0}}, 0) = 0
    llistxattr("testfile", (nil), 0)        = 0
    llistxattr("testfile", 0xbfe54d70, 0)   = 0
    fgetxattr(3, "system.posix_acl_access", 0xbfe54ca0, 132) = -1 ENODATA (No data available)
    fstat64(3, {st_mode=S_IFREG|0755, st_size=0, ...}) = 0
    fsetxattr(4, "system.posix_acl_access", "\x02\x00\x00\x00\x01\x00\x07\x00\xff\xff\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff \x00\x05\x00\xff\xff\xff\xff", 28, 0) = 0
    close(4)                                = 0
    close(3)                                = 0
    11.12.2008 12:37 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky
    OK, omlouvám se, že jsem si to neověřil. Místo cp je tedy do mé odpovědi potřeba dosadit jiný program (ten, u kterého se popisovaný problém vyskytuje).
    Heron avatar 11.12.2008 10:44 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Dědění ACL tak, jak jej umí třeba Windows (změna práv rodičovském objektu způsobí změnu práv v podřízeném objektu), linux bohužel neumí.

    Ad 2, k tomu slouží právě ta východí práva (defaul acl) pro adresář, což je popsáno v článku.
    Stanislav Brabec avatar 11.12.2008 18:05 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše Re: ACL prakticky

    Částečně to řeší SUID/SGID bit na adresáře.

    12.12.2008 08:19 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky
    SUID u adresářů (přinejmenším v Linuxu) žádný efekt nemá.
    Stanislav Brabec avatar 12.12.2008 10:25 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše Re: ACL prakticky

    Ale SGID efekt má:

    • Soubory a adresáře vytvořené uvnitř zdědí skupinu od adresáře
    • SGID zdědí uvnitř vytvořené adresáře

    Vše uvnitř bude mít tedy požadovanou skupinu. O práva k adresářům a souborům se nadále musí tvůrce postarat sám.

    12.12.2008 11:03 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky
    O SGID v mém příspěvku nebyla řeč.
    16.12.2008 00:39 op
    Rozbalit Rozbalit vše Re: ACL prakticky

    > Velmi mi chybí nastavování práv ala Novell Netware.

     

    Novell Netware je nyni implementovany jako sada sluzeb pod Linuxem a pokud vim, tak netwarovy system pristupovych prav je tam k dispozici.  U Novellu vam  reknou, kolik to stoji a co budete potrebovat.

    11.12.2008 08:30 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky

    Dodám jen pár drobností:

    1. Při změně práv vlastníka nebo skupinového vlastníka se parametr nezadává ve tvaru u:práva, ale u::práva

    2. Stejně jako tradiční práva, i ACL se vyhodnocují podle principu "rozhoduje první, co odpovídá", přičemž pořadí je vlastník, jednotliví uživatelé, skupinový vlastník, jednotlivé skupiny, ostatní.

    3. Maska se neaplikuje na práva vlastníka, pouze na práva skupinového vlastníka a jednotlivých uživatelů a skupin.

    Heron avatar 11.12.2008 09:22 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Díky za doplnění.
    corwin78 avatar 11.12.2008 08:33 corwin78 | skóre: 10 | Ostrava
    Rozbalit Rozbalit vše Re: ACL prakticky

    Pěkný a užitečný článek. Díky.

    Uživatel GNU/Linux # 420871 | Uživatel Kubuntu # 5516 | Česká pirátská strana - "Internet je naše moře...".
    11.12.2008 09:00 Jirka
    Rozbalit Rozbalit vše Re: ACL prakticky

    Z toho nového fontu mě bolí oči. Prosím, proveďte obnovu kaskadových stylů ze zálohy.

    11.12.2008 09:03 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky
    O jakém novém fontu to mluvíte?
    belisarivs avatar 11.12.2008 09:04 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: ACL prakticky

    Nastav si ve FF Dejavu Sans a mas pokoj.

    IRC is just multiplayer notepad.
    11.12.2008 09:11 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: ACL prakticky
    Žádná změna stylů neproběhla. Stávající styl nijak neurčuje konkrétní písmo, pouze stanovuje "sans-serif". Je na každém uživateli, jaký font si nastaví v prohlížeči.
    kerny avatar 11.12.2008 19:40 kerny | blog: KernyBlog
    Rozbalit Rozbalit vše Re: ACL prakticky

     A to je dobre, libi se mi kdyz se stranka zobrazuje pismem ktere mam rad.

    In a world without gates and fences... Who needs windows?
    11.12.2008 09:20 Glin
    Rozbalit Rozbalit vše Re: ACL prakticky

    Asi chybka:

    [root@centos]# geftacl soubor

    Ma byt IMHO:

    [root@centos]# getfacl soubor

    PS: ten wysiwig editor v kterym toto pisu mi moc nefunguje - nejde pastovat prostredtim tlacitkem (resp. jen nekdy, coz je jeste horsi nez kdyby vubec), protoze se dostanu do modu scrollovani. Dale jsem se dostal do situace, kdy jsem chtel vlozit znaky na urcite misto uprostred odstavce, najel jsem tam kurzorem (at mysi ci klavesnici), napsal pismeno, ale pismeno se vlozilo do prazdneho radky nad odstavcem, v kterem jsem byl.

    Heron avatar 11.12.2008 09:28 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Jasné, je to překlep, přepošlu info redakci.
    11.12.2008 09:41 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: ACL prakticky
    Opraveno.
    11.12.2008 10:53 Field
    Rozbalit Rozbalit vše omezená praktická použitelnost

    Jako první krok dobrý, ale správu většího serveru bych s tím dělat nechtěl. Oč elegantnější řešení má třeba OpenVMS, kde můžete uživateli přidělit nejaký identifikátor - například "MANAGEMENT" - a poté přidělovat práva držitelům identifikátorů namísto konkrétních uživatelů:

    (IDENTIFIER=MANAGEMENT,ACCESS=R+W+E+D)
    (DEFAULT_PROTECTION,S:RWED,O:RWED,G,W)
    (IDENTIFIER=MANAGEMENT,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE)
    (CREATOR,ACCESS=READ+WRITE+EXECUTE+DELETE)

    Takže admin pak pouze přiděluje identifikátory a spravuje uživatelské účty, zatímco nastavení práv ve filesystému se nemění. Identifikátory nejsou totéž co skupiny, uživatel jich může mít neomezené množství. Počet ACL záznamů na jednom objektu také není omezen.

    Nemluvě ani o dalších možnostech jako například nastavit detailní logování přístupu do logu nebo jako alarm na terminálu operátora

    (ALARM=SECURITY,ACCESS=DELETE+CONTROL+SUCCESS+FAILURE)

    Implementace v linuxu mi přijde jako dobrý první krok (já vím, je to POSIX), ale pro skutečné použití na velkých serverech se stovkami či tisíci uživatelů stále poněkud neohrabaná.

    11.12.2008 11:53 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: omezená praktická použitelnost
    Identifikátory nejsou totéž co skupiny, uživatel jich může mít neomezené množství.
    Jaký je tedy rozdíl mezi identifikátorem a skupinou? Uživatel snad může být také členem neomezeného množství skupin.
    11.12.2008 12:00 Vskutečnosti Saýc | skóre: 7
    Rozbalit Rozbalit vše Re: omezená praktická použitelnost
    Primo rozdil mezi identifikatorem a skupinou netusim, ale pokud vim, ma VMS prava jinak ohledne toho, kde a jak se povoluje smazat soubor, smazat jakykoli soubor v adresari, vytvorit soubor a tak.

    Ale fakt je, ze lidi co casto nadavaji na unixova prava (nemyslim vas ani kolegu vyse, samozrejme) nemaji tuseni ze existuje nejake sgid nebo sticky. Ale ten VMS system je precejen sikovnejsi.
    11.12.2008 21:42 Field
    Rozbalit Rozbalit vše Re: omezená praktická použitelnost

    identifikátory mohou mít přiřazeny ještě atributy, které jejich chování mění. Je to na delší vyprávění, tak si dovolím citovat z dokumentace:

    ¨

    Dynamic attribute Allows holders of the identifier to remove and to restore the identifier from the process rights list by using the DCL command SET RIGHTS_LIST.
    Resource attribute Allows holders of the identifier to charge disk space to the identifier. It is used for file objects.
    Subsystem attribute Allows holders of the identifier to create and maintain protected subsystems by assigning the Subsystem ACE to the application images in the subsystem.
    No Access attribute Makes any access rights of the identifier null and void. This attribute is intended as a modifier for a resource identifier or for purposes unrelated to access control.

    Sites with high security requirements are likely to use two other attributes, which discourage users from scanning the rights database:

    Holder Hidden attribute Prevents someone from getting a list of users who hold an identifier unless that person owns the identifier.
    Name Hidden attribute Allows holders of an identifier to have it translated (either from binary to ASCII or vice versa), but prevents unauthorized users from translating the identifier.

     

    Ale je fakt, že to už je vyšší dívčí a málokde se to používá, i když možná částečně i proto, že o tom administrátoři nevědí.

    11.12.2008 13:20 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: omezená praktická použitelnost

    Srovnávat VMS a POSIX dost dobře nelze.

    Posixové skupiny mají spoustu ošklivých vlastností: Členství ve skupině je vlastnost procesu, nikoliv uživatele, takže přidávání a odebírání je nutné pojistit pozabíjením všech procesů. Dále pokud může uživatel vytvářet SGID soubory, je nutné po něm uklidit, jinak se může znovu do skupiny dostat.

    Ale je pravda, že tohle nejsou ani tak problémy skupin, jako problémy posixové kontroly přístupu.

    11.12.2008 19:24 Martin
    Rozbalit Rozbalit vše Re: ACL prakticky
    Dalsich par doplneni k pouziti ACL:
    1/ upozorneni - pokud na soubor jednou pouziji acl, uz nikdy nepouzivat klasicky chmod ale jen setfacl
    2/ dulezita je zaloha a obnova acl:
       getfacl -R --skip-base > backup.acl
       setfacl --restore backup.acl
    
    3/ exisuji i acl managery, napr. http://rofi.roger-ferrer.org/eiciel/
    Heron avatar 11.12.2008 20:27 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Děkuji za doplnění.

    K těm zálohám. Přijde mi vhodnější používat zálohovací nástroj, který acl zvládá. Při obnovení je všechno tak jak má být i bez dalších operací.
    11.12.2008 21:58 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: ACL prakticky
    pokud na soubor jednou pouziji acl, uz nikdy nepouzivat klasicky chmod ale jen setfacl
    OK. To zní dost závažně na to, aby si na to člověk začal dávat pozor. Ale zároveň dost bezobsažně na to, aby na to člověk za pět minut zapomněl. Takže prostá otázka: co se může stát, když ne?
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    Heron avatar 11.12.2008 22:19 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Tak si to zkus :-).

    chmod neovlivňuje acl záznamy, tj pokud přidáš třeba právo spouštění pomocí chmod a+x soubor, tak uživatelé, kteří již měli nastavená práva třeba na rw, jej stále nebudou moci spouštět (budou mít pořád rw).
    11.12.2008 23:53 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: ACL prakticky
    Ale to je přeci normální, že ACL mají přednost před mode.
    Heron avatar 12.12.2008 07:02 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Jistě, že ano. Pravda, mohl jsem do článku ještě zapracovat kompletní vyhodnocení práv.
    12.12.2008 08:01 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky
    Spíš bych to formuloval tak, že koncept ACL je rozšířením tradičních přístupových práv. Nebo že tradiční model vlastník-skupina-ostatní je speciálním případem ACL.
    12.12.2008 09:17 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: ACL prakticky
    Hmm, tak to mne netrápí :-) Kdyby to byl nějaký nesmysl ve stylu chmod zruší všechna ACLka, tak to beru :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    12.12.2008 09:40 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: ACL prakticky
    Ono se na to dá dívat tak, že to, co tradiční nástroje vidí jako práva vlastníka, skupinového vlastníka a ostatních, jsou ve skutečnosti položky typu ACL_USER_OBJ, ACL_GROUP_OBJ a ACL_OTHER v access control listu. Tyhle položky zobrazují a mění a zbytku si nevšímají.
    12.12.2008 10:13 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: ACL prakticky
    Jasně. V tomhle světle mi varování pokud na soubor jednou pouziji acl, uz nikdy nepouzivat klasicky chmod ale jen setfacl přijde trochu nadnesené, proto jsem se taky ptal. Všem díky za potvrzení, že se vlastně není moc čeho bát :-)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    11.12.2008 19:50 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: ACL prakticky

    Děkuju za hezký a užitečný článek. Akorát tu masku nějak nechápu, ale to se poddá. :-)

    11.12.2008 20:09 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ACL prakticky
    Výchozí hodnota pro každé právo je, že není přiděleno – tj. daný uživatel či skupina to právo nemá. Pak se vyhodnotí nastavená maska a nastavená práva (pro uživatele, pro skupinu, pro ostatní), a pokud je příslušné právo nastaveno jak v masce tak v právech, je právo přiděleno, pokud buď v masce nebo v právech přiděleno není, není přiděleno ani na výstupu (mezi nastaveným právem a maskou se udělá logická operace AND). Pokud maska není zadána vůbec, vyhodnocují se jen práva (jako by maska byla rwxrwxrwx). Pokud jde o smysl masky, ten mi také uniká, protože podle mne každý, kdo má právo měnit ACL práva, má i právo měnit masku. Může to sloužit asi jako usnadnění – pokud vím, že soubor není spustitelný, nastavím mu masku rw-rw-rw-, a vím, že nepůjde omylem nastavit právo ke spuštění. Ale možná to má i nějakou jinou výhodu, která mi zůstala utajena.
    11.12.2008 20:13 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: ACL prakticky

    Děkuju moc za vysvětlení. :-)

    11.12.2008 20:10 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: ACL prakticky

    setfacl: rotor: Operation not supported

    Tohle mi to píše, když zadám příkaz setfacl -m user:kav:rx rotor (jedná se o adresář /home/rotor).

    Postupoval jsem podle článku, mám ext3 a 64bitové Kubuntu Hardy Heron. Ten příkaz jsem zadal jako uživatel root. Verze setfacl je 2.2.45.

    Heron avatar 11.12.2008 20:23 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Zřejmně nemáte zapnutou podporu pro ACL ve filesystému.

    Speciálně pro ext3 je ve článku zmíněn postup zapnutí. Buď přes tune2fs, nebo mount.

    Zkuste mount "ten mountpoint" -o remount,acl.

    Pokud to ani pak nepůjde, dejte sem výstup z tune2fs -l /dev/sdaX (oddíl, kde je ten filesystém na kterém to zkoušíte) a podíváme se na to.
    11.12.2008 20:35 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: ACL prakticky

    Díky moc. mount "ten mountpoint" -o remount,acl pomohlo. :-) Tu volbu "acl" musím přidat i do /etc/fstab, že?

    Heron avatar 11.12.2008 20:43 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Ano. Buď /etc/fstab nebo ji přidat k "Default mount options" pomocí tune2fs -o acl /dev/sdX. Osobně mám raději druhou metodu, protože je to pak v parametrech to systému souborů. Pokud by jednalo o přenosný disk, nemusí se na to při připojení jinde myslet.
    11.12.2008 20:46 Begleiter | skóre: 47 | blog: muj_blog | Doma
    Rozbalit Rozbalit vše Re: ACL prakticky

    Díky moc za pomoc.

    11.12.2008 21:22 Marek Chlup
    Rozbalit Rozbalit vše Re: ACL prakticky

    ACL mi připadá opravdu težkopádné a složité na údržbu. Zejména zjišťování na co má ten či onen právo ve velmi košaté struktuře adresářů s mnoha soubory je k zbláznění.

    Pro data sdílená uživateli bych nejraději viděl systém, kde se budou nastavovat práva jen na úrovni adresářů a bude zde existovat dědičnost.

    13.12.2008 20:02 AlYoSHA
    Rozbalit Rozbalit vše Re: ACL prakticky

    Takto funguje AFS filesystem, ale to je sietovy FS.   viac na: www.openafs.org

    16.12.2008 17:10 Ondar | skóre: 25 | blog: Linux_blog
    Rozbalit Rozbalit vše ACL a síťové filesystémy

    Zvláštní - podobný šlánek jsem se zrovna chystal napsat :-). Ovšem v trochu jiném duchu - autor napčíklad úplně zapoměl dodat, že popsaný model ACL nebyl nikdy POSIX ratifikován a je založen pouze na POSIX draftu. Taktéž s exportem souborových systémů využívajících tohoty typu ACL je to dosti problematické (NFSv2,3 toto třeba neřeší a ostatní síťové FS už vůbec).

    Osobně si myslím, že daleko větší budoucnoust má v Linuxu standard ACL podle NFSv4.

    Heron avatar 16.12.2008 19:38 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL a síťové filesystémy
    Určitě jej můžeš napsat, bude to vhodné doplnění. Já se na to podíval z praktického pohledu na lokálním systému souborů. Nechtěl jsem jít moc do teorie a ani na síť.
    daan avatar 20.10.2009 09:10 daan | skóre: 6 | blog: Clairvoyant | Bratislava
    Rozbalit Rozbalit vše Re: ACL prakticky
    Vyborny clanok.

    Len jedna vec..
    Ak mam subor s opravnenim:

    # file: soubor
    # owner: ondra
    # group: uzivatele
    user::rw-
    user:milos:rw-
    group::r--
    group:kamaradi:rw
    mask::rw
    other::---

    ako by som realizoval zmazanie riadku user:milos:rw- v pripade, ze som si rozmyslel milosov pristup? :)

    Napada mna jedine setfacl -m user:milos:---

    Tym vsak len opravnenie prepisujem...
    Ako ho zmazem?
    Heron avatar 20.10.2009 16:38 Heron | skóre: 51 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: ACL prakticky
    Pomocí parametru -x:
    setfacl -x user:milos soubor
    
    10.12.2012 11:12 Gorgio
    Rozbalit Rozbalit vše Re: ACL prakticky
    Zdravím, mám problém s nastavením ACL a Samby na serveru. Distribuce Ubuntu 12.04. Aktualni samba a ACL balíčky. Teď k problému, přes sambu sdílím složku do pracovní skupiny pro windows clienty. Pomocí ACL jsem nastavil určitá dědení práv na sdílenou složku. Dědění funguje správně při vytváření nových složek či souborů z Windows (Exploreru). Bohužel při kopírování z windows se dědění práv ACL v linuxu naruší. Například se změní práva pro Others a OwnerGroup. Četl jsem různá fóra a diskuze, ale všude jsem se pouze dočetl o použití cp s přepínačem -p, což ve windows samozdřejmě použít nemohu a pomocí windows console xcopy se sice problém vyřeší, ale nemohu po clientech chtít použití příkazové řádkyy. Tak se chci zeptat, jestli je nějaká možnost jak zdědit ACL práva i při kopírování z windows. Popřípadě jestli mi můžete doporučit nějaký jiný efektivní způsob jak přidělovat práva pro sdílené složky pomocí samby. Bohužel si s obyčejným owner,group,other nevystačím, potřebuji nastavit práva pro více skupin. Práva pro dědení na složce data.
    user::rwx
    group::r-x
    group:smb-family:r-x
    group:smb-admins:rwx
    mask::rwx
    other::---
    default:user::rwx
    default:group::r-x
    default:group:smb-family:r-x
    default:group:smb-admins:rwx
    default:mask::rwx
    default:other::---
    
    Práva nakopírované složky z windows do sdílené složky data.
    user::rwx
    group::rwx
    group:smb-family:r-x
    group:smb-admins:rwx
    mask::rwx
    other::-wx
    default:user::rwx
    default:group::r-x
    default:group:smb-family:r-x
    default:group:smb-admins:rwx
    default:mask::rwx
    default:other::---
    

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.