Soudruzi by udelali lepe, kdyby mezi novinky zaradili moznost pouzivat instalovane programy ruznymi uzivateli. Instalovat treba MS Oppice treba desetkrat na jednom pocitaci pro deset ruznych uzivatelu opravdu neni resenim.
Oni tam sice maji jakysi adresar user, kde se zakladaji profily ruznych uzivatelu, jenze to je nakousnuta myslenka, kterou nikdy nikdo nedotahl do pouzitelneho stavu. A neje to, podle cihosi inteligentniho napadu dokonce aktivne brani uzivatelum spoustet aplikace, kdyz nni vlastnikem souboru. Schvalne si zkuste neco nainstalovat, udelit si tam trebarw prava a spustit to pod jinym uzivatelem. Oni asi kopiruji Widle i v pristupu "vime, co je pro vas nejlepsi", takze udelat stroj, kde jedny MS Oppice bude pouzivat nekolik ruznych uzivatelu, je temer memozne a snad jediny zpusob je natlacit do systemu skripty, ktere pri zalogovani uzivatele zmeni vlastnika celeho stromu s instalaci, coz je strasna pakarna a nekdo by za to mel byt predhozen piranam.
tak pro jineho uzivatele netreba instalovat, staci zkopirovat, ne?
a nevim, jak by se resilo, ze bezi opice dvema uzivatelum, a jedny opice zmeni systemovy soubor - co na to opice druheho uzivatele? asi tezko pojede jeden mrkvosofti program viceuzivatelsky, to by se musely umet tak chovat v danem emulovanem prostredi
Neni, je to proste proaktivni blbost vyvojaru Wine.
Situace: Mejme stroj s Linuxem, uzivateli jarda a winesoft. Uzivatel winesoft ma home v adresari /winesoft. Pod nim nainstaluji MS Opice, udelim vsude prava cteni pro vsechny, a udelim rw do nekolika adresaru a na nektere soubory, kde je potreba, jako usr nekde ve .wine, registry a co ja vim. Nasledne jako uzivatel jarda zkusim spustit MS Oppice launcheem, ktery jsem ukradl z uzivatele winesoft. Je mi receno, ze nejsem vlastnikem souboru. Zmenim tedy vlastnika a skupinu na jarda a ejhle, uplne stejnym launcherem to spusti a ono to spokojene chrochta.
Jak jsem se docetl v nejake diskusi, tak pry tohle zavedli nekolik verzi "tomu nazad", aby zabranili uzivatelum spoustet programy pres sudo. Byli totiz taci zlocinci, kteri se pokouseli obchazet neschopnost wine umoznit pouzivat jednu instalaci vive uzivateli tak, ze to spustili pod rootem, coz neni zrovna bezpecne. Tady ale nechapu, co je vyvojarum wine do toho, pod jakym uzivatelem spoustim widlacke programy. Jeste mene pak chapu, proc namisto testovani na uzivaele root porovnavaji vlastnika souboru s uzivatelem. Misto toho byse meli snazit, aby jednu instalaci softu mohli pouzivat vsichni. Jakesi prvky toho totiz ve Wine jiz jsou. Treba kdyz to provozuji tak, ze vzdy zmenim vlastnika celeho stromu instalace, tak se v adresari user nebo jak se to jmenuje, kazdemu uzivateli vytvari podadresar s jeho jmenem.
Nebyt proaktivni blbosti vyvojaru Wine, bylo by perfektne mozne pouzit jednu instalaci vice uzivateli tak, ze se sikovne nasymlinkuje to, co neni specificke pro jednotlive uzivatele. Ale bohuzel, nejde to, nejsem vlastnik souboru, tak to nepojede. A radsi si neprej vedet, jake picoviny jsem musel navymyslet, abych to navzdory vyvojarum rozchodil.
Tohle je microsoft way. Proste stejne jako systemd rozhodujou za uzivatele o tom, co je pro nej dobry. Sem zvedav, kdy se mi tux odmitne vypnout, protoze "je nekdo prihlasen" nebo "jsou spusteny nejake aplikace".
Jinak technicky to chapu, widli veci maji ve zvyku prepisovat kde co, a ty bys musel zaridit, ze to "kde co" bude mit kazdej user svoje. Wine na tohle jednoduse neni zarizeny.
A pokud ti jde o multiuser spusteni opic, tak bys mozna lip udelal, kdyby sis rozjel M$ terminal server s spoustel to z nej do seamless okna.
Sem zvedav, kdy se mi tux odmitne vypnout, protoze "je nekdo prihlasen" nebo "jsou spusteny nejake aplikace".
No tak na to staci nainstalovat Ubuntu. Kvuli aplikacim jeste nerve, ale kvuli jinym uzivatelum ano. To, ze je to root, ktery mi bezi lokalne v terminalu, je uplne jedno, asi si nejaky vyvojar mysli, ze u stroje sedime po dvou. Nastesti se to da vypnout v system policy, ale neni trivialni vygooglovat, kde se ma co zmenit. Jinak to jeste resi prikaz z rootovske konzole.
me zajima, jak bys chtel resit viz predchozi prispevek, a predpredpredpredchozi prispevek (na tuhle vec jsi ani jednou neodpovedel):
"Jinak technicky to chapu, widli veci maji ve zvyku prepisovat kde co, a ty bys musel zaridit, ze to "kde co" bude mit kazdej user svoje. Wine na tohle jednoduse neni zarizeny."
"a nevim, jak by se resilo, ze bezi opice dvema uzivatelum, a jedny opice zmeni systemovy soubor - co na to opice druheho uzivatele? asi tezko pojede jeden mrkvosofti program viceuzivatelsky, to by se musely umet tak chovat v danem emulovanem prostredi"
A proc by nebylo spatne, ze nekdo rozhoduje, pod jakym uzivatelem spoustim jake programy? Co je koho do toho? Je zcela na mne, jak toho vyuziji a jestli dokazi vyresit problemy, ktere si tim muzu zpusobit. Co bys rekl tomu, kdyby prikaz ls prestal fungovat pod uzivatelem ondrej nebo rsync by uzivatelum, kteri nejsou ve skupine fifinka fungoval jen v pondeli rano, ve stredu okolo pulnoci a v sobotu od 17.35 do 21.14? Takove picoviny nikdo nedela a proc take, ze? Jen vyvojari Wine to vidi jinak.
vlastnistvi je treba JEN pro samotnej wineprefix
NENI zadan recursivne...
1. udelej kazdemu useru ~/.wine jehoz bude vlastnikem
2. symlinkuj do toho vse z /opt/wine kde budes mit sdilenej wine prefix...
3. prestan brecet jak jsou ti Winari na tebe zli, mas to ve svejch rukach ;
Vyvojar muze vedet ledacos, presto je mu kulovy do toho, jak bude uzivatel jeho aplikaci pouzivat. On uzivatel pokud veci funguji jaksi nema duvod takovyhle zhuverilosti vytvaret. To ze vytvari === vyvojar to posral a veci nefunguji.
Pak to vypada tak, ze BFU podle nejakyho navodu na netu si nekde stahne nejakej patch vi buh odkud a vi buh co delajici, jen proto, aby docilil toho, ze mu veci budou fungovat. Jak sem psal, microsoft way, na widlich taky musim gamesy crackovat, aby fungovaly (podotykam, ze koupene a instalovane z orig placek).
Ja nezadam, aby si opice mohlo spustit vice uzivatelu najednou, uplne mi staci, ze si je budou moci spustit jeden po druhem. S remote X session se nepocita.
Kdysi pri vyvoje Wine se takova myslenka si objevila, protoze je tam viceuzivatelske prostredi castecne implementovane. Kdyz zmenim vlastnika a spoustim Oppice pod ruznumi uzivateli, kazdemu se tam vytvari v adresari users nebo jak se to jmenuje jeho vlastni profil, jako ve Widlich. Tusim, ze i v registry se ukladaji klice se jmenem uzivatele.
Jinak by se to dalo resit pomoci symlinku do uzivatelova adresare, kde by mel kazdy treba svuj kus registry. Jde jen o to, aby vyvojari svymi chytrymi opatrenimi neznemoznovali cloveku si bez hroznych hacky vyresit to, co oni nedodelali. V podstate by to resil i sikovne vytvoreny /etc/skel. Pokud to ovsem vyzaduje, aby vzdy byl zaroven zmenen vlastnik celeho stromu wineprefixu, tak se nam to ponekud komplikuje.
A nejake napady typu terminaloveho serveru jsou uplne mimo. Jednalo se o skolu s holou prdeli, kde resili, cim nahradit XP, nez se v nich objevi nejaka nebezpecna dira, kterou nikdo uz nezazaplatuje.
Davno som to neskusal, ale jednu dobu som mal launcher skript, ktory pri spusteni vytvoril vlastny .wineprefix, naimportoval register, prisymlinkoval don z /opt spolocne /Program Files a niekolko kniznic do /Windows/System a spustil exac.
Fungovalo to dobre, len vygenerovat to v /opt bolo trochu o zivot.
Myslim, ze dnes byste musel jeste vyresit, aby se zmenil vlastnik souboru. Od jiste verze Wine totiz ani nedojde k pokusu o spusteni programu, Wine samo na vas vyplivne hlasku, ze nejste vlastnikem prislusnych souboru. Viz napriklad zde: http://ubuntuforums.org/showthread.php?t=634075 . Chapu, ze je spatnou taktikou provozovat zbytecne soft pod rootem, ale po duvodech vyvojarum Wine nic neni, to at si kazdy soudruh prasi, jak se mu zachce, oni by se meli omezit leda tak na varovnou hlasku. Nicmene oni ani netestuji, jestli to spoustim pod rootem, oni testuji, jestli muj user vlastni soubory, coz je neco uplne jineho, nez provoz pod rootem.
Tak, nie, ze by som sa chcel zbytocne hadat, ale nepleties si to s ochranou wineprefixu?
Problem s wineprefixom je ten, ze ho wine po upgrade ciastocne prepisuje - napriklad nahradza novsou verziou exace vo /windows. Ak by patrili inemu uzivatelovi, spadlo by to a uzivatel by netusil preco... Ale ok, aj na to by stacil warning.
Nevim, ale to je jedno. Kdyz tam mam prava na cteni a i zapis tam, kde je potreba, nikomu neni nic po tom, kdo je vlastnikem. Ostatne ty MS Oppice jsou nainstalovane prave pod tim wineprefixem. A pokud se pamatuji, tak vytvoreni noveho wineprefixu a symlinkovani program files a dalsich kramu selze take.
Rozumím tomu co by jste chtěl, ale pláčete na špatném hrobě. Okení programy moc dobře nerozlišují privátní a public (read only) soubory/adresáře/registry. Ve výsledku všichni mají práva zapisovat všude možně a to je pravé rejdiště pro viry jinou havěť. Stejně tak nechcete, aby vám jeden uživatel mohl zbourat prostředí pro dalších 20 uživatelů jenom kvůli tomu že nějaká aplikace potřebuje práva pro zápis do nějakého veřejného adresáře.
Já ze stejného důvodu mám pro každou okení aplikaci vlastní WINE_PREFIX (kontejnerizace windows aplikací). BTW: Už jste slyšel pojem DLL Hell?
Instalaci pro 10 uživatelů vyřešíte tím, že máte čistou (read only) instalaci a tu nakopírujete uživateli při prvním použití.
Tohle uz celkem dlouho neni tak uplne pravda. I kdyz tady Widle vetsinou nemame radi, tak na nich jsou jiz delsi dobu ACLs na NTFS a vyvojari si od te doby museji zvykat, ze ne vsude lze psat. Za normalnich okolnosti program muze psat jen do adresare docasnych souboru a do uzivatelova profilu. Ano, najdou se jeste vyjimky. Prasacke aplikace a dokonce i v Officu tusim 2007 si MS nedokazal odpustit, ze v jakemsi adresari s cache ve stromu instalace Oppice, jsou nutna prava i na zapis. Prava nastavit umime ale i na Linuxu.
S trochou experimentovani muzete vytvorit prakticky identicke prostredi ve Wine. V tom problem neni, problem je v tom, ze (opakuji jeste jednou), musite byt vlastnikem wineprefixu.
Nevim, proc by mi mel jeden uzivatel zbourat aplikaci pro vsechny ostatni, kdyz mu vytvorim prostredi, kde vsechny zapisovatelne adresare jsou vyhradne v jeho profilu a strom s instalaci Oppice je cely read only, s vujimkou zmineneho debilniho adresare. Stejne tak vam nikdo nebrani pouzit jiny wineprefix pro kazdou aplikaci, jak jste zvykly, protoze u Wine clovek nikdy nevi, jak instalace jedne aplikace domrsi jine aplikace ve stejnem wineprefixu.
To, o cem pisete, s popisovanym problemem vubec nesouvisi. Pokud se vyvojari domnivaji, ze ano, tak at se omezi na to, ze to napisi do manualu. Pokud si oni nedokazi predstavit, jak vytvorit prostredi tak, aby ruzni uzivatele mohli pouzivat jednu instalaci Oppice bez toho, ze by vse zmrsili ostatnim, tak ja si to predstavit umim a mam takove prostredi i vytvorene, jen me sere, ze pri zalogovani uzivatele se musi spoustet skript, ktry zmeni vlastnika celeho wineprefixu i s podadresari a to jen proto, ze Wine testuje pri spusteni nesmysly.
Tohle je pravda stale v 90% pripadu.
Na webu valne vetsiny her najdes ve FAQ "a kdyz vam neco nefunguje, spustte to jako administrator". A nejen her. Opet sme u toho, ze ve widlich nemas sanci aplikace aktualizovat jakymkoli koser zpusobem. Pokud userovi nedas prava do /programfiles, tak si nikdy nic nepatchne.
A ted si vem, ze mas aplikace ktere patchovat proste musis - napriklad ruzne firemni systemy, kde ti vyjde legislativni patch a ty ho k tem lidem musis dostat, pricemz system ma samo nejaky svuj vlastni zpusob jak se patchnout => nemuzes to proste nejak nakopirovat ... . O tom, ze si home user chce patchnou svoje MMO ani nemluve.
Nebo si predstav, ze si uzivatel chce nekde u zakaznika neco vytisknout ... ses vprdeli, pokud neni admin, tak si tiskarnu proste nepripoji.
Jako bonus, neznam prakticky widliho vyvojare, kterej by vedel kam co vlastne patri, takze vysledek je ten, ze mas jakejsi bordel v registrech, pak mas nejakej konfigurak kdesi v profilu, data nekde jinde v profilu ... a kdyz chces tenhle vytvor odinstalovat, tak samo widle ani appka netusej, ktery soubory tomu patrej, takze ti tam 80% toho mrdniku zustane do pristi reinstalace widli.
BTW: Pocitam ze patch, kterej tohle omezeni wine zlikviduje by byl tak na jeden radek?
Tedy jak mam Widle rad, jak pazdero v prdeli, tak tady se jich musim castecne zastat. To, ze vyvojar naprasil aplikaci hur, jak pionyri z pomocne skoly a dozaduje se pristupu pro zapis, kde ho nema a jeste ani neumel napsat instalator tak, aby si prislusny adresar vytvoril s potrebnymi pravy (pozor, prasarna!), neni vina Widli. Takovy vyvojar zretelne nevi, co dela a nema ani predstavu, kde potrebuje mit jaka prava.
Na druhou stranu se nedivim, ze vyvojari kolikrat nevedi, kam co patri. Adresarova struktura Widli neni prilis intuitivni a navic je v kazde verzi trochu jina. Nicmene i nejblbejsimu vyvojari by melo byt jasne, ze do Program Files se pise akorat pri instalaci. Neni mi tedy prilis jasne, proc tohle maji zprasene i vyvojari z Microsrotu, kdyz jsem kvuli rozchozeni MS Oppice musel povolit zapis do jednoho adresare ve stromu s instalaci. No, registry tady snad ani nebudeme rozebirat, aby si nekdo nepozvracel klavesnici.
Jinak predstava, jak si useri sami patchuji firemni system, me docela desi. Tohle v Linuxu take nedelame a nevim, proc bychom to meli delat ve Widlich. Na to bychom museli nastavit prislusna prava na adresar a to by z toho byly skoro Widle 98. Bud je ve firme ajtak, ktery to opatchuje, nebo tam neni, tak userum muzu dat rovnou admina, protoze to je asi mensi zlo, nez jakasi zcela nahodna pristupova prava na binarkach.