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 15:11 | Nová verze

Byla vydána nová stabilní verze 2.8 (2.8.1664.35) webového prohlížeče Vivaldi (Wikipedie). Přehled novinek v příspěvku na blogu. Z novinek vývojáři zdůrazňují synchronizaci s Vivaldi pro Android. Nejnovější Vivaldi je postaven na Chromiu 77.0.3865.78.

Ladislav Hagara | Komentářů: 0
včera 21:11 | Nová verze

Po půl roce vývoje od vydání verze 8.0.0 byla vydána verze 9.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, Extra Clang Tools, LLD a Libc++. Vývojáři zdůrazňují podporu "asm goto", díky které lze pomocí Clangu přeložit například Linux pro x86_64 (CONFIG_JUMP_LABEL=y).

Ladislav Hagara | Komentářů: 8
včera 14:00 | Nová verze

Bylo vydáno Eclipse IDE 2019-09 aneb Eclipse 4.13. Představení novinek na YouTube. Vydána byla také nová verze 7 online IDE Eclipse Che.

Ladislav Hagara | Komentářů: 0
včera 11:11 | Nová verze

Byla vydána verze 24.0 svobodného softwaru OBS Studio (Open Broadcaster Software, Wikipedie) určeného pro streamování a nahrávání obrazovky počítače. Přehled novinek na GitHubu nebo pomocí krátkých videí na Twitteru.

Ladislav Hagara | Komentářů: 3
včera 11:00 | Komunita

Microsoft představil a pod licencí SIL Open Font License (OFL) na GitHubu zveřejnil font Cascadia Code. Font je určen především pro zobrazování textu v emulátorech terminálu a vývojových prostředích (Přehled fontů s pevnou šířkou).

Ladislav Hagara | Komentářů: 17
18.9. 21:11 | Zajímavý software

Souborový systém exFAT se běžně používá na paměťových médiích jako karty SDXC, ale z licenčních důvodů jej nebylo možné začlenit do Linuxu, ačkoliv v roce 2013 unikl ovladač od Samsungu, jak shrnuje článek na Linux Weekly News. Park Ju Hyung nedávno vzal novější verzi ovladače od Samsungu a založil na ní vlastní projekt exfat-linux, který je k dispozici uživatelům.

Fluttershy, yay! | Komentářů: 11
18.9. 05:55 | Pozvánky

Dnes a zítra pořádá Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) ve spolupráci se studentským portálem Security Outlines konferenci CyberCon Brno 2019. Sledovat ji lze také online.

Ladislav Hagara | Komentářů: 0
18.9. 04:44 | Nová verze

Byla vydána Java 13 / JDK 13. Nových vlastností (JEP - JDK Enhancement Proposal) je 5. Nová Java / JDK vychází každých 6 měsíců.

Ladislav Hagara | Komentářů: 2
18.9. 03:33 | Komunita

Mozilla.cz informuje (en), že Mozilla postupně zrychlí pravidelné vydávaní nových verzí Firefoxu na 4 týdny. Aktuálně jsou vydávány nové verze Firefoxu každých 6 až 8 týdnů.

Ladislav Hagara | Komentářů: 13
17.9. 18:44 | Nová verze

MojeFedora.cz informuje (en) o vydání betaverze Fedory 31, tj. dalšího mezníku na cestě k plánovanému vydání Fedora 31 na konci října. K dispozici je v edicích Workstation a Server. Můžete také vyzkoušet jeden ze spinů, labů nebo verzi pro ARM.

Ladislav Hagara | Komentářů: 0
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (20%)
 (4%)
 (10%)
 (38%)
 (27%)
 (2%)
Celkem 181 hlasů
 Komentářů: 20, poslední dnes 13:17
Rozcestník

ACL prakticky

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

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: 52 | 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: 52 | 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.

Č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: 52 | 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: 52 | 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: 52 | 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: 52 | 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: 52 | 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: 52 | 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: 52 | 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: 52 | 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.