jo, to fakt potěší, ale jsou i krásnější věci.
Když si člověk připojí externí HDD mimo svůj stroj, tak
- půl hodiny hledá a instaluje ovladač zařízení, i když to je obyč USB MASS STORAGE a generický ovladač by neměl problém
- pokud je ve stroji víc jak jeden nerozdělený HDD na C:, tak neví, jestli se namontoval jako FŇ:, BŽ: nebo vůbec
- Na obsah souborů kašle, rozhoduje přípona. Přípona je by default skrytá.
- Když to není FATxx nabo NTFS, tak má smůlu.
Ve skutečnosti instalace ovladače trvá pár vteřin, a removable disk se mountuje na první volné písmeno (pokud nebyl už dříve na daném stroji namountován jinam). Disk může být na FATxx, exFAT, NTFS, UDF, a nejspíš by šlo i ISO9660. Samozřejmě si můžete doinstalovat drivery dalších FS, včetně ext2/3.
Na obsah souborů se zcela správně kašle, protože z něj nelze jednoznačně určit typ souboru. Přípony jsou naprosto debilně skryté, a power useři jako první věc nastavují že se skrývat nemají (plus že Explorer má synchronizovat strom s pravým panelem, nemá skrývat skryté soubory atd.).
Teď o tom jak skvělé je to na Linuxu: vložíte externí médium a nic se nestane, protože automounter tradičně nefunguje. Začnete se hrabat v polkitu, a nakonec to nějak prostřelíte. Pokud je to disk od uživatele Windows, bude všechno fungovat, pokud tedy váš Tux nezboří NTFS. Když se vám ale poštěstí narazit na disk od uživatele Linuxu, máte problém. Dotyčný uživatel Karel měl na svém systému UID 63555 (třeba od podnikového LDAP), je vlastníkem souborů i adresářů, a vy si bez roota ani neškrtnete.
Pokud se vám podaří úspěšně udělat s diskem co potřebujete, tak počkáte až nebude svítit kontrolka, a odpojíte ho. Bohužel jste ho zapomněl odmountovat, a měl jste dneska smůlu, takže kernel oops.
Prava mate ve Widlich take, akorat ze Widle pouzivaji dedicna prava a defaultni prava na root adresar jsou totalni cochcarna. Nastavte tam restrikci na konkretniho uzivatele a budete mit velmi podobny problem.
Ano, myslim si, ze je to dobra implementace. Jestlize mam FS, ktery podporuje prava, tak jsou vyuzita. Je lepsi mit bezpecnostni pristup stylu nikdo nic nemuze a pak pridelovat prava, spise nez opak, tedy kazdy dela, co se mu zachce a pak to zkrouhavat. Mozna by ale nebylo spatne, kdyby filemanagery zacaly mit v kopirovacim dialogu checkbox, jehoz zaskrtnutim bych dal prava cist nebo cist a psat komukoliv, pokud to je to, co chci, abych to nemusel delat nasledne rucne. Eventuelne mozna existuje nejaky FS pro USB storage, ktery by na to sel pouzit a ktery prave z duvodu problemu nastavovani prav nema permissions. Pokud by nebylo nutne brat ohledy na Widlaky, kteri by to neprecetli, bylo by to nejjednodussi.
Jistě. Nejlepší je mít práva nastavená tak, že bez roota po vložení USB klíčenky nic nepřečtete, protože na uživatele se kašle :D. Ve Windows je v ACL na USB klíčenkách defaultně skupina Users s právy Full Control, a protože ta skupina existuje na každém stroji, tak není problém.
Ano, to je standardni widlacka politika: kazdy muze vsechno a pokud to chci jinak, musim to zkrouhnout. Predpokladam, ze default na sitova sdileni je take porad jeste pro vsechny Full Control. Na Linuxu je to naopak, nikdo nemuze nic a kdyz to chci jinak, musim to nastavit. Ted muzeme diskutovat o tom, zo je lepsi. Ale vy uz jste si vybral a ja take, takze radsi nebudeme ani zacinat.
Bohužel v tomhle konkrétním případě prostě uživatel nemůže ani přečíst externí médium, když není root. Ta externí média mají nějaký účel: aby na něj uživatel mohl uložit data a přečíst je na jiném počítači. Pokud k takové akci potřebuje oprávnění roota, tak zjevně někdo nepřemýšlel. Takových klacků pod nohy dostávají na Unixech uživatelé hromady. Pak se nedivte, že se na desktopu nešíří.
Kristova noho! Ne, jako neprivilegovany uzivatel, ktery pro nekoho kopiruje data na USB flash nebo nekam, se zamyslite, komu jsou data urcena a podle toho nejak inteligentne nastavite prava. Ostatne pokud se bude jednat o USB flash, SD kartu a podobne, tak ty chodi porad jeste formatovane na nejaky FAT, takze pro vetsinu beznych uzivatelu je tato diskuse bezpredmetna, protoze stejne ani netusi, ze existuji ruzne FS. Nebezni uzivatele, kteri maji na flashce nejaky nemicrosofti FS, budou data vymenovat tak, aby je cilovy uzivatel precetl. Tedy je-li to BFU, nastavi mu potrebna prava. Neni-li to BFU a ma roota, vyserou se na to, protoze vedi, ze si dotycny poradi.
Jenže uživatel má nastavenou nějakou umask, a z GUI s tím moc neudělá (natož jen pro výměnná média). Takže workaround je ten že změní permissions explicitně. Přitom permissions na výměnném médiu nemají vůbec smysl, protože je kdokoliv na jakémkoliv zařízení s permissions roota může přebušit. Jinými slovy ve Windows je to zařízené tak aby uživatelé mohli výměnná média bez problému používat, v Linuxu ne. Řešením by bylo buď mít dědění permissions a na removable media je v rootu rozumně nastavit (což je případ Windows, ale na Unixech to pokud vím nejde), nebo mountovat výměnná média s permissions 777.
Naštěstí je problém nahlášený a na řešení problému se intenzivně pracuje.
https://bugzilla.kernel.org/show_bug.cgi?id=15875
Za posledních šest let se udělala spousta práce, prozatím spočívající v neplodných diskusích a změnách statusu mezi REOPENED, OBSOLETE a WILL_NOT_FIX :D. Aktuálně je status WILL_NOT_FIX. Protože co je na posledním místě v pořadí důležitosti? Správně, je to uživatel :/
https://bugzilla.kernel.org/show_activity.cgi?id=15875
Až někde budete v diskusích číst fantazie na téma jak by se na výměnná média měl používat nějaký linuxový FS, tak si vzpomeňte, že vývojáři nejsou schopní za šest let vyřešit ani takovou trivialitu.
Neni pravda, ze prava na vymennem mediu nemaji smysl. To zalezi na situaci a nejde jen o nejake utajeni, protoze na opravdove utajeni prava stejne nikdo soudny jenom prava pouzivat nebude.
Ale muzete treba mit jeden externi disk, na ktery si doma kdekdo porizuje zalohy. Prava zaruci, ze vam nikdo omylem nezboura vasi zalohu.
Ale jinak, pokud opravdu trvate na tom, aby vam to externi medium fungovalo jako ve Widlich, tak zkuste nastudovat extended attributes. Pokud vim, mely by umoznit i takovou vec, jako je dedeni prav z nadrazeneho adresare. Ale ja to nikdy nepotreboval, takze jsem do toho nestoural. Studium detailu ponecham vam.
BTW, polovicka ma externi disk s NTFS. Mela tam obvykle nastaveni everyone full control. Az jednoho dne se z niceho nic nemohla dostat k souborum. Ja take ne, musel jsem to resit pres prevzeti vlastnika a prenastaveni prav. Mate nejake vysvetleni, jak se tohle muze samovolne prihodit poloBFU, ktery o existenci prav ani nema tuseni, takze je vyloucene, ze si je prenastavila sama?
Rec byla o tom, ze uzivatele potrebuji roota, aby mohli cist soubory, zatimco Widle jsou tak uzasne, ze nic takoveho tam neni, protoze everyone->full control. Ja jsem akorat nahodil reseni, jak v Linuxu obejit restrikci prav. Pokud se ti nelibi, ze prava jsou bud jen pro majitele nebo jen pro vsechny a budes je chtit pridelit konkretnimu uzivateli tak, aby mohl k souborum pristupovat na ruznych strojich, budes si muset zaridit synchronizaci UID na danych strojich. Ten samy problem ovsem v pripade jinych, nez zcela otevrenych prav, budes mit i na Widlich. A jsem zvedav, jak tu synchronizaci budes resit tam, protoze pokud vim, neni na FS u ACL zapsano jmeno uzivatele, ale SID, nebo jak se to jmenuje, ktery vypada nejak takto: S-1-5-12-7723811915-3361004348-033306820-515. Jsem zvedav, jak to bez domenoveho kontroleru budes resit, protoze domaci uzivatel uzivatel Franta a domaci uzivatel Anicka na druhem konci mesta asi nebudou mit pocitace v domene s PDC, BDC a kdovi cim jeste.
Stejná UID zajistíte třeba tak že použijete Active Directory, na Linuxu Kerberos (pokud si poradíte s jeho nastavením). Ale synchronizovat UID kvůli tomu aby uživatelé mohli bez problémů používat klíčenky je blbost. Ne že by to technicky nešlo, ale z více důvodů je to praktické asi si protřít levé oko pravou rukou protaženou okolo levého ucha, poté co jste tou rukou drtil chilli papričky.
A já už je vidím, jak si ve vi pod rootem editují UID uživatelů tak aby byla stejná, a tím si rozbijí existující permissions. Samozřejmě když budou potřebovat použít klíčenku od jiného uživatele, budou muset rozbít další systém. Jakže jsem to psal? ...je to praktické asi si protřít levé oko pravou rukou protaženou okolo levého ucha, poté co jste tou rukou drtil chilli papričky. Řekněte Matlafouskovi a Fifince že WILL_NOT_FIX, protože vývojářům jsou uživatelé ukradení.
Samozřejmě můžete najít okrajový případ, kdy se permissions na výmněnném médiu hodí. Ale primární použití těch médií je podobné jako kdysi u disket: uložíte data, přenesete k jinému počítači, tam je otevřete. A tenhle základní scénář by měl fungovat pro uživatele snadno a samozřejmě, což se na Linuxu neděje.
Obě zvolená řešení přitom umožňují permissions použít. V případě Windows prostě odstraníte z ACL skupinu Everyone. Samozřejmě UID uživatelů Karel i Maruška jsou lokální a musíte to brát v úvahu (BTW jsou to GUID a tedy nehrozí kolize na jiném systému). V případě Linuxu by šlo o mount option která odstřihává podporu permissions, a tu option pro konkrétní médium můžete a nemusíte použít. Nejspíš byste měl nastaveno jako default ignorovat permissions na výměnných médiích, a třeba vaše médium se zálohou byste připojoval s permissions.
Mohly by to řešit ACLs, podobně jako na Windows. Bohužel ACLs nejsou v POSIXu (jen v nějakém zastaralém draftu), záleží na podpoře v kernelu i podpoře u konkrétního FS, a samozřejmě se to liší Unix od Unixu :/. Například na Linuxu zpravidla najdete podporu POSIX (draft) ACLs, pro ext3 experimentální podporu NFSv4 ACLs, pro ext4 implementuje NFSv4 ACLs Richacls. POSIXové a NFSv4 ACLs nelze obousměrně překládat, a nastavují se pomocí různých utilit. Na Solarisu se ZFS, OS X 10.4 a pár dalších OS jsou k dispozici NFSv4 ACLs. No řekněte, není to takové trochu Unixové? Bazaar bizarre :)
Ad polovicka ma externi disk s NTFS; jednoho dne se z niceho nic nemohla dostat k souborum; nejake vysvetleni - těžko říct. Mohla se k nastavení proklikat, mohla spustit nějaký tool (třeba backup který nastaví ACL na drive na který zálohuje) nebo skript, mohl to nastavit někdo jiný, nebo přimountovala FS na jiném OS a ten něco změnil... Pokud k tomu došlo na jejím stroji, tak není problém nastavit security audit, ve kterém pak najdete kdo a kdy změnil permissions na objektu. Samozřejmě to musíte zapnout předem :)
Ad polovicka ma externi disk s NTFS; jednoho dne se z niceho nic nemohla dostat k souborum; nejake vysvetleni - těžko říct. Mohla se k nastavení proklikat, mohla spustit nějaký tool (třeba backup který nastaví ACL na drive na který zálohuje) nebo skript,
To asi tezko, je vytrenovana v pouzivani stroje pod neprivilegovanym uctem, o pravech nic nevi, tak by ani nevedela, co dela.
... mohl to nastavit někdo jiný,
To bych tedy chtel vedet kdo. V okoli ma leda lidi, kteri o Widlich vedi jeste mene. Takze leda by se nejake Widle na cizim stroji rozhodly, ze pro uzivatele je lepsi zmenit mu prava tak, aby se nedostal ke svym souborum.
nebo přimountovala FS na jiném OS a ten něco změnil...
Napriklad kterem? Nema k dispozici nic jineho, nez Widle.
LAEL OPHIR JE LHAR, LAEL OPHIR JE LHAR, LAEL OPHIR JE LHAR...
uzivatelsky automounter mi tradicne v Linuxu funguje, na externi HDD, Flashdisky, opticke media, soubory/image hdd/flsdh/iso i interni hdd ktery ma oddily nepripojeny systemovou cestou...
btw: po vlozeni trva ZLOMEK VTERINY abych mohl cist z usb zarizeni a je jedno jestli to strcim do usb portu 1, 2 nebo 3 a pripojuje se inteligentne dle jmena svazku nebo serioveho cisla pokud jmeno neni, nikoliv nejake BŽ:
ja mluvil o Xfce, LXDE neni bezne prostredi a je jak ja rikam oklestene, nemyslim tim nic spatneho proste to povazuju za neco mezi WM a DE, takze logicky tam ruzne desktopve veci nebudou out-of-box jako v Xfce, kde je napr. i ta moznost automaticke pousteni z vlozeneho media:
http://postimg.org/image/bz386qt4j/
V LXDE na Debianu to nefunguje. V LXDE na Ubuntu a Kanotixu ano. Bug byl v Debianu hlaseny, je to uz cela vecnost. Jestli jim to funguje v Xfce se uz nepamatuju. Take nemuzu vyloucit, ze se jedna o problem, ktery nejak vznikl v me instalaci, ktera uz pamatuje celou serii upgradu na vyssi verzi a zazila si obdobi slavy testing i stable. Nicmene ta chyba se nevyskytuje jen u mne, jinak by nebyla v Bugzille.
Ted jsem i padl na mozne reseni: https://www.ab9il.net/linux/pcmanfm-usb-mount.html . Nekdy to zkusim.