Portál AbcLinuxu, 12. května 2025 15:40

Dotaz: WINE - zakázat uživatelům instalaci a spouštění exe

hankey avatar 22.1.2010 08:38 hankey | skóre: 16
WINE - zakázat uživatelům instalaci a spouštění exe
Přečteno: 1351×
Odpovědět | Admin
Prosím o radu, jak nastavit oprávnění uživatelům tak, aby nemohli spouštět jiné než žádoucí nainstalované exe programy ve WINE a měnit nastavení wine.
Když jsem něco našel, vždy jen opačný případ, totiž jak spusit wine aby mohl vše.
Děkuji
data jsou pouze dvojí: na záloze a ve věčných lovištích
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.1.2010 09:28 True54
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co jim třeba jednoduše odeprat práva pro zápis do jejich ~./wine složek? Případně jejich částí.
22.1.2010 10:29 l4m4
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
WINEPREFIX=/home/me/někde/jinde wine
Podle mne každé řešení vyžaduje patchnutí wine, případně možná brutální SELinuxovou policy. A i to nepomůže, pokud si uživatel může někam nahrát svoji binárku wine (/home, /tmp, sshfs-mountnutý adresář, ...) a spustit ji.
22.1.2010 11:30 True54
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
V tom případě bych to udělal tak, že wine by mohli spouštět jenom uživatelé ve skupině "wine_users". Dále bych pomocí wine nainstaloval povolené programy, a jejich vlastnictví přidělil některému z wine_users s tím, že jej můžou spouštět i ostatní.

Tím by snad šlo docílit toho, že:

1) wine spustí jen člen skupiny wine_users. Cizí uživatel tedy žádnou exe instalaci spustit nemůže.

2) již nainstalované a schválené windows binárky ve vlastnictví některého wine_usera může cizí uživatel spustit.
22.1.2010 11:31 True54
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Zapoměl jsem dodat, že že exe binárka by se spouštěla s právy onoho wine_usera, by mohla zavolat wine.
Jendа avatar 22.1.2010 17:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
A i to nepomůže, pokud si uživatel může někam nahrát svoji binárku wine (/home, /tmp, sshfs-mountnutý adresář, ...) a spustit ji.
Max avatar 23.1.2010 14:21 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Co jim brání v tom, si do houmu zkopčit již zkompilované wine a pracovat s ním? :)
Zdar Max
Měl jsem sen ... :(
22.1.2010 17:21 tomasgn | skóre: 23 | JN89GE
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
nastavit WINEPREFIX jako read-only.
23.1.2010 01:58 l4m4
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Existuje-li nějaký způsob, jak zajistit přenesení readonly do subshelu, tak ho neznám. Takže toto obchází
bash --norc --noprofile
Bilbo avatar 22.1.2010 12:53 Bilbo | skóre: 29
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Odpovědět | | Sbalit | Link | Blokovat | Admin
Wine používá symlinky v adresáři ~/.wine/dosdevices aby namapovali písmenka disků někam do linuxových cest. Pokud tam budou mít uživatelé namapované c: na něco co je pro ně read-only a spravované adminem tak, že to obsahuje jen schválené programy, tak by to mohlo fungovat - wine nedokáže spustit programu ležící "mimo" některý z "disků" definovaný písmenkami ve ~/.wine/dosdevices.

Tento adresář by se pak mohl nastavit tak, že uživatel tam nebude mít práva zápisu (případně nebude mít práva zápisu na celý ~/.wine).

Nicméně lze to obejít např. přenastavením HOME (nebo spuštěním vlastní verze wine).

IMHO takto lze omezit jen méně zkušené uživatele, zkušenější to obejdou a omezení která by omezila i ty zkušenější (půlka $HOME read-only, noexec na $HOME, /tmp a všude kde má uživatel právo zápisu aby si nemohli zkompilovat vlastní wine, atd ...) by je nejspíš omezila dost i v jiných věcech.
Big brother is not watching you anymore. Big Brother is telling you how to live...
22.1.2010 13:01 l4m4
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Wine používá symlinky ve $WINEPREFIX/dosdevices. Není-li proměnná WINEPREFIX nastavena, použije se výchozí hodnota $HOME/.wine, ale uživateli nic nebrání si ji nastavit a nerozesírat si přitom $HOME.
Jendа avatar 22.1.2010 17:09 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obávám se, že to nejde. Možná jim dát jenom nějaký restricted shell, a jak je zmíněno výše, nastavit SELinux tak, aby nemohli spouštět svoje binárky.
23.1.2010 12:42 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Odpovědět | | Sbalit | Link | Blokovat | Admin
Koukám že zase jdeme s tankem na komára... možná by bylo lepší, kdyby tazatel poskytl nějaký příklad toho, čeho chce docílit. Mám dojem že mu jde spíš o ochranu programů uvnitř wine, než o to aby uživatelé spouštěli svoje binárky. A na to IMHO bude stačit ten read only přístup. Wine tenhle režim podporuje.
In Ada the typical infinite loop would normally be terminated by detonation.
hankey avatar 26.1.2010 10:14 hankey | skóre: 16
Rozbalit Rozbalit vše O co mi jde
Mám aplikační server s tenkými klienty a uživatelé používají účetnictví pro windows, ale nechci, aby mohli spouštět a instalovat cokoli jiného exe; kvůli tomu jsem nasadil Linux, aby mi necpali do počítače nesmysly (v tomto slavím úspěch a děkuji za dar Linuxu, mám klid a je to boží!) Jenže s wine je to krok zpět, je to jak díra do počítače. Linuxové programy instalovat nemohou, ale windows ano; to jsem skoro tam, kde jsem byl...
Program je hloupoučký, ani se doopravdy "neinstaluje"- nechá se zkopírovat, vše je v adresáři c:/účetnictví a adresáře s daty má hned v sobě jako další složku c:/účetnictví/firma1 /firma2 ...
data jsou pouze dvojí: na záloze a ve věčných lovištích
26.1.2010 10:23 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: O co mi jde
No a co se Vám teda nezdá na přístupu "složka s programem/programy" je pouze pro čtení?
In Ada the typical infinite loop would normally be terminated by detonation.
hankey avatar 28.1.2010 08:54 hankey | skóre: 16
Rozbalit Rozbalit vše Re: O co mi jde
Nejde o TEN program, s tím ať si dělají cokoli, jde o (ne)spouštění jiných.
data jsou pouze dvojí: na záloze a ve věčných lovištích
28.1.2010 09:07 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: O co mi jde
Stačí aby všechny dostupné disky byly read only.

Pokud je potřeba udělat dočasné úložiště (temp), jde to řešit několika způsoby

1) použijete adresář který je na zařízení připojeném s noexec, tím zabráníte spouštění exe

2) použijete adresář který se při každém spuštění wineserveru vymaže, tím uděláte dlouhodobý provoz jiných programů nepohodlný

3) použijete kvótu nebo adresář připojený na malé zařízení, aby se tam toho moc nevešlo

In Ada the typical infinite loop would normally be terminated by detonation.
Bilbo avatar 28.1.2010 14:37 Bilbo | skóre: 29
Rozbalit Rozbalit vše Re: O co mi jde
1) tim se zabrani spusteni nativnich binarek, ale nejsem si jist jestli to funguje i pro wine - noexec lze u skriptu obejit necim typu "sh skript.sh" a mam pocit, ze wine binarky nespousti primo, ale do pameti je loaduje trosku jinak (musi nasimulovat loader binarek co je ve windows a nasmerovat loadnutou binarku na emulovane windows funkce), obdobne ako interpret loaduje skript.

2) Uzivatel si hodi do adresare symlink nekam do sveho HOME a pak tam jen ten symlnk znovu nakopiruje pote co je smazan.

3) Muze fungovat, pokud ten hlavni program co maji uzivatele spoustet neodklada do temu vetsi mnozstvi souboru.

Pomerne spolehliva by mohla byt metoda, kdy se patchne ve wine loader .exe binarek ze bude loadovat pouze binarky patrici rootovi (prida se tam jeden check na vlastnika souboru) - takze pak neni ani potreba prilis omezovat uzivatele nejakym readonly, cizi binarky tam sice mozna zavlece, ale uz je nespusti (at uz to jsou hry nebo viry). To pak jde obejit jedine tak, ze si tam clovek pritahne vlastni WINE, ale to uz spousta BFU nezvladne.
Big brother is not watching you anymore. Big Brother is telling you how to live...
26.1.2010 13:20 l4m4
Rozbalit Rozbalit vše Re: O co mi jde
Pokud už máš zabezpečený Linux tak dokonale, že uživatel nemůže (např.) spusit ani shell nebo jiný interpret, tak budou navrhovaná read-only nastavení fungovat. Pokud ne, uživatelé ti tam mohou spokojeně cpát nesmysly, stačí trochu vynalézavosti.
26.1.2010 13:47 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: O co mi jde
uživatelé ti tam mohou spokojeně cpát nesmysly, stačí trochu vynalézavosti
Což se dá řešit (a ve většině případů řeší) jinak než technickou cestou.

V nejjednodušším případě uživatelé vynalézaví nebudou a tím je problém vyřešen.

Jako další krok lze toto uživatelům zakázat a podpořit pravidelnou kontrolou a klasifikací porušení pracovní kázně, což vede na snížení platu o pohyblivou složku nebo k vyhazovu, což už si průměrný uživatel rozmyslí.

Až v extrémním případě bych nasadil technické prostředky nad rámec toho co jsem navrhoval, neboť v těchto oblastech pak rapidně stoupá křivka nákladů na údržbu děleno užitná hodnota. Pokud například technologicky zakážu komukoliv spouštět programy, tak pak musím mít papírově ošetřeno kdo co smí spustit, evidenci, kontroly atp. Proto se to většinou nevyplatí :-)
In Ada the typical infinite loop would normally be terminated by detonation.
hankey avatar 28.1.2010 08:57 hankey | skóre: 16
Rozbalit Rozbalit vše Re: O co mi jde
Jenže lidi běžně klikají v internetu na blbiny a ty se běžně chtějí samy instalovat. Neřeší, klikají yes, next, ok, další. A pak, bohužel, nejde o zaměstnance, ale o puberťáky na střední škole, kteří chtějí instalovat blbiny a nedejbože hry.
data jsou pouze dvojí: na záloze a ve věčných lovištích
28.1.2010 09:13 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: O co mi jde
Jenže lidi běžně klikají v internetu na blbiny a ty se běžně chtějí samy instalovat. Neřeší, klikají yes, next, ok, další.
Tohle imho ten r/o přístup vyřeší.
puberťáky na střední škole, kteří chtějí instalovat blbiny a nedejbože hry.

Ty se daj omezovat školním řádem a trestat taky.
In Ada the typical infinite loop would normally be terminated by detonation.
28.1.2010 13:44 DNA
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Odpovědět | | Sbalit | Link | Blokovat | Admin
nebo napsat odpornou bashovinu, která každé jiné exe než povolené sestřelí :-D
28.1.2010 23:23 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: WINE - zakázat uživatelům instalaci a spouštění exe
Dirty hack, ale funkcni. Binarku wine prejmenuj napr na wine.bin a stvor skript "wine" kde jen zkontrolujes parametry jemu predane a pokud to je ucetnictvi.exe tak spusti wine.bin ucetnictvi.exe.

Pokud se jedna jen o spousteni jednoho konkretniho programu, taky by slo v systemu zrusit asociaci exe-wine, takze se system bude tvarit jako by tam wine vubec nebylo (a debilotiny nespustej) a vytvor skript "ucetnictvi" jehoz obsahem bude "wine ucetnictvi.exe" a to dej do menu.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.