ACL a dědění masek

ACL a dědění masek
« kdy: 23. 01. 2013, 22:11:38 »
potřebuju poradit s ACL na Linuxu:
adresář má tyto ACL

Kód: [Vybrat]
# owner: abc
# group: abc
user::rwx
user:user1:rwx
user:user2:rwx
user:abcadminrwx
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:user1:rwx
default:user:user2:rwx
default:user:adcadmin:rwx
default:group::rwx
default:mask::rwx
default:other::---

když v něm vytvořím soubor pomocí SCP, tak se změní ta ACL maska (mask toho souboru) a tím pádem, i když se ty default práva zdědí správně, ta maska je omezí a tudíž ty effective rights nejsou takový, jaký bych potřeboval:

Kód: [Vybrat]
# file: desktop.ini
# owner: abcadmin
# group: abcadmin
user::rw-
user:user1:rwx                #effective:r--
user:user2:rwx                #effective:r--
user:abcadmin:rwx          #effective:r--
group::rwx                      #effective:r--
mask::r--
other::---

a já bych potřeboval, aby ta maska byla zase opět rwx a ne jen r--
Díky za tipy, googlil sem, ale marně :(
« Poslední změna: 23. 01. 2013, 23:12:37 od Petr Krčmář »


HH

Re:ACL a dědění mask
« Odpověď #1 kdy: 23. 01. 2013, 23:12:31 »
Měl jsem stejné starosti. Výsledkem dlouhého testování a hledání příčin bylo, že SCP a ACL nespolupracují a nikdy nebudou. SCP je historický protokol.

Používejte SFTP ze sshd serveru. Pozor na záměnu s FTPS, to je úplně jiný protokol.
 

Re:ACL a dědění masek
« Odpověď #2 kdy: 24. 01. 2013, 07:03:51 »
no není to tak ani o tom scp, jako obecně o té masce. Když se tam přihlásím přes ssh a dám do toho adresáře touch, udělá mi to tohle:
 # file: abc
# owner: abcadmin
# group: abcadmin
user::rw-
user:user1:rwx                #effective:rw-
user:user2:rwx                #effective:rw-
user:abcadmin:rwx          #effective:rw-
group::rwx                      #effective:rw-
mask::rw-
other:---

čili se správně nezdědilo user a maska je tentokrát rw narozdíl od předtím r, ale stejně by měla být rwx.

Takže není to jen ve winscp.

Re:ACL a dědění masek
« Odpověď #3 kdy: 27. 01. 2013, 13:03:00 »
nikdo nepomůže? To skutečně není v Linuxu žádný způsob, jak nějak normálně nastavit oprávnění pro více uživatelů???

Ocením i reakce typu, že to skuečně nejde vyřešit a prostě linux si s takovým nastavením práv neporadí, protože.....

Aspoň budu vědět, že to musím vyřešit jinak.

Díky
R

cita

Re:ACL a dědění masek
« Odpověď #4 kdy: 27. 01. 2013, 18:23:20 »
no není to tak ani o tom scp, jako obecně o té masce. Když se tam přihlásím přes ssh a dám do toho adresáře touch, udělá mi to tohle:
 # file: abc
# owner: abcadmin
# group: abcadmin
user::rw-
user:user1:rwx                #effective:rw-
user:user2:rwx                #effective:rw-
user:abcadmin:rwx          #effective:rw-
group::rwx                      #effective:rw-
mask::rw-
other:---

čili se správně nezdědilo user a maska je tentokrát rw narozdíl od předtím r, ale stejně by měla být rwx.

Takže není to jen ve winscp.

Nene takto se to chova spravne. Tady to panove rozebiraji..:
http://forums.whirlpool.net.au/archive/1501718

Zkus napsat ceho potrebujes dosahnout.


Re:ACL a dědění masek
« Odpověď #5 kdy: 27. 01. 2013, 18:37:34 »
no potřebuju snadné - to, co mám nadefinováno v ACL, aby se zdědilo. Tedy, když do toho adresáře vytvoří user1 soubor, aby k němu měli rwx přístup i user2, abcadmin, a samozřejmě i user1 (už jen proto, že je to owner). Pokud vytvoří soubor user2, aby měl přístup i user1, abcadmin atd.. Prostě aby to oprávnění toho souboru bylo níže zmíněné bez vlivu na to, který z definovaných userů soubor vytvoří.
Díkec, mrknu ještě na ten odkaz, pokud by někdo věděl, jak toho docílit, ocením to!
R

# file: desktop.ini
# owner: abcadmin
# group: abcadmin
user::rwx
user:user1:rwx               
user:user2:rwx               
user:abcadmin:rwx         
group::rwx                     
mask::rwx
other::---

dumblob

Re:ACL a dědění masek
« Odpověď #6 kdy: 27. 01. 2013, 20:55:39 »
Obavam se, ze toto nelze s ACL docilit. Narazilo se na to tusim v diskuzi http://www.abclinuxu.cz/poradna/linux/show/141839 . Kazdopadne resenim by mohlo byt pouziti FUSE (bindfs) s tim, ze se ztrati minimalne 40% rychlosti zapisu a cteni (coz porad casto bohate dostacuje - napr. v mem pripade :)).

cita

Re:ACL a dědění masek
« Odpověď #7 kdy: 27. 01. 2013, 21:08:44 »
Obavam se, ze toto nelze s ACL docilit. Narazilo se na to tusim v diskuzi http://www.abclinuxu.cz/poradna/linux/show/141839 . Kazdopadne resenim by mohlo byt pouziti FUSE (bindfs) s tim, ze se ztrati minimalne 40% rychlosti zapisu a cteni (coz porad casto bohate dostacuje - napr. v mem pripade :)).

blbost, tedy jen letmo jsem precetl ceho na abc chctete dosahnout. A mohu jen konstatovat ze "sdileny adresar" jde bezproblemu pomoci acl pripravit a pouzivat.

Re:ACL a dědění masek
« Odpověď #8 kdy: 27. 01. 2013, 21:33:25 »

blbost, tedy jen letmo jsem precetl ceho na abc chctete dosahnout. A mohu jen konstatovat ze "sdileny adresar" jde bezproblemu pomoci acl pripravit a pouzivat.

můžeš mi prosím pomoci a říct, jak toho, co jsem psal, dosáhnu?
Díky
R

Vít Heřman

Re:ACL a dědění masek
« Odpověď #9 kdy: 27. 01. 2013, 22:48:44 »
Myslím, že už to máte nastavené správně, jen jste dobře nepochopil, jak se to chová jako celek.

Problém je v tom, že při vytváření souboru se kombinují dvě sady práv - ty "default" z ACL a to, jaký mód při otevření souboru specifikoval program, při jeho vytváření. Z toho vyplývá chování které Vám dělá touch - ten totiž při vytváření souborů požaduje práva 0666, tzn --x bit je vypnut a tudíž se odstraní i z ACL. Pokud byste místo vytvoření souboru pomocí touch zkusil vytvoření adresáře pomocí mkdir, korektně zdědí --x bit v masce i a dalších ACL.

A co se týká SCP, pochopil jsem to tak, že používate WinSCP? Problém je v tom, že tenhle program se standardně pokusí vzdáleným souborům nastavit práva podle těch lokálních (na windows) - jak přesně je určí nevím, každopádně nechová se tak jak byste čekal (tzn. že práva budou odpovídat nově vytvořeným souborům) ale nastavuje práva explicitně - proto to dopadne jak to dopadne. V konfiguraci WinSCP to lze vypnout.

Re:ACL a dědění masek
« Odpověď #10 kdy: 27. 01. 2013, 23:55:26 »
Děkuji za info, zkusím si s tím zítra víc pohrát, nejen v touch a winscp (ano, používal jsem winscp), ale i dalšími různými nástroji, které vytvoří soubory.
Dám sem případně vědět.
Zkusím kouknout na to winscp, jestli to lze nějak nastavit. Problém je, že winscp je u mnoha klientů, které ani neznám a nedokážu jim toto nastavení "vynutit".
Jisté řešení maximálně tedy spočívá ve skriptu korektně nastavující ACL a cronu - čemuž jsem se principiélně snažil vyhnout, ale asi není zbytí a budu mít pokoj.
Rob

cita

Re:ACL a dědění masek
« Odpověď #11 kdy: 28. 01. 2013, 02:26:16 »
mrknete na inotify, to by se vam mohlo hodit vice nez cron job

dumblob

Re:ACL a dědění masek
« Odpověď #12 kdy: 01. 02. 2013, 17:19:59 »
mrknete na inotify, to by se vam mohlo hodit vice nez cron job
Btw tenkrat jsem chtel provozovat sdileny adresar pomoci incron, ale take to nebylo mozne diky nemoznosti sledovat zanorene adresare.

@Vit Herman ma pravdu, ale reseni bohuzel nespociva v pouziti ACL prave z duvodu, ze na to nadpolovicni vetsina aplikaci kasle. Proto jsem navrhnul bindfs.

citanus

Re:ACL a dědění masek
« Odpověď #13 kdy: 01. 02. 2013, 21:10:09 »
mrknete na inotify, to by se vam mohlo hodit vice nez cron job
Btw tenkrat jsem chtel provozovat sdileny adresar pomoci incron, ale take to nebylo mozne diky nemoznosti sledovat zanorene adresare.

@Vit Herman ma pravdu, ale reseni bohuzel nespociva v pouziti ACL prave z duvodu, ze na to nadpolovicni vetsina aplikaci kasle. Proto jsem navrhnul bindfs.

ono incron je vhodny na jine veci. napr monitoring konfiguracniho souboru a naslednou notifikaci daemona nebo jeho obnovu.

zkus se podivat spis na pyinotify