Portál AbcLinuxu, 8. května 2025 22:46

Dotaz: Dosemu - musí běžet pod rootem?

1.10.2009 01:23 zmije
Dosemu - musí běžet pod rootem?
Přečteno: 677×
Odpovědět | Admin
Příloha:

Zdravim, nainstaloval jsem dosemu 1.4.0.0 z balíčku pro moji distribuci Ubuntu 8.04, pokud ho však chci spustit pomocí ikony, která se vytvoří po instalci (odkazuje na soubor /usr/bin/xdosemu) tak se nic neděje. Pokud spustím přímo skript /usr/bin/xdosemu z terminálu obdržím:

LOWRAM mmap: Invalid argument
Segmentation fault

pokud ho ale spouštím s root právy pomocí sudo, tak běží.

Pokus o spuštění přímo binárky /usr/bin/dosemu.bin skončí segmentation fault vždy i při spuštění s root právy.

Ze skriptu /usr/bin/xdosemu se mi podařilo vypreparovat minimum, při kterém lze dosemu spustit:

sudo /home/zmije/dos/dosemustart

viz. příloha

Je opravdu nutné, aby dosemu běželo s root právy?

 

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.10.2009 07:01 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mám dojem, že tohle je problém SELinuxu. Nežere parametr vm.mmap_min_addr = 0 z sysctl.conf.
1.10.2009 07:17 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
Jestli vám nedovolí dobrovolně si uřezat větev pod zadkem tak je to jen dobře :-) a k čemu to, když v SELinuxu můžete dané privilegium povolit selektivně?
In Ada the typical infinite loop would normally be terminated by detonation.
4.10.2009 22:31 zmije
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?

Jde mi o to, že v Ubuntu 7.10 byla instalace dosemu (rovněž verze 1.4.0.0) velmi jednoduchá, stačilo sudo apt-get install dosemu, po instalaci to šlo normálně spustit pod běžným userem i z ikony v menu, po přechodu na Ubuntu 8.04 k tomu musím spouštět terminál, zadávat rotovské heslo a emulátor mi pak běží pod rootem, což asi není zrovna cool (ikdyž by mě zajímal prohled někoho znalejšího, jak velky problém to představuje).

4.10.2009 22:51 Mti. | skóre: 31 | blog: Mti
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
Predstavuje to problem v tom, ze pokud dosemu dela nejakou lumparnu, aby se dostalo bliz/rychlej k hw a obsahovalo by nejakou chybu, muzete se pod rootem stat mnohem vic nez pod userem. :-) (user skonci nejcastej s (bezpecnym) odmitnutim pristupu, roota zastavi (v lepsim pripade) az core-dump) Pripadne sahnete ve filesystemu nekam vyslovne nevhod.... s rootem nejste kontrolovan. (schvalne, co muzete jako obycejny user prepsat v /etc? :-D)
Vidim harddisk mrzuty, jehoz hlava plotny se dotyka...
4.10.2009 23:25 zmije
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?

Ok, co je tedy menší zlo? vm.mmap_min_addr = 0 (jak to zřejmě bylo v Ubuntu.7.10) nebo spouštění pod rootem?

4.10.2009 23:35 Mti. | skóre: 31 | blog: Mti
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
jak tu nekdo psal - svn verze uz to nepotrebuje...

jinak bych sel radeji cestou s vm.mmap... (a zejmena dlouhodobe pohodlnejsi :-) )
Vidim harddisk mrzuty, jehoz hlava plotny se dotyka...
5.10.2009 12:04 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
Ok, co je tedy menší zlo? vm.mmap_min_addr = 0 (jak to zřejmě bylo v Ubuntu.7.10) nebo spouštění pod rootem?
Spuštění pod rootem. Dosemu roota pustí, jakmile sežene všechny potřebné ingredience pro svůj běh. A i kdyby ne, tak se vystavujete pouze nebezpečí od dosemu, zatímco nastavení mmap_min_addr=0 udělá Váš systém potenciálně zranitelný jako celek vůči všem aplikacím.

Na druhou stranu lze obojímu předejít, návodů tu už padlo dost.
In Ada the typical infinite loop would normally be terminated by detonation.
5.10.2009 12:07 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
muzete se pod rootem stat mnohem vic nez pod userem. :-) (user skonci nejcastej s (bezpecnym) odmitnutim pristupu
Jop, jako např. při pokusu provést find ~ -delete.
In Ada the typical infinite loop would normally be terminated by detonation.
1.10.2009 07:15 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Do I need to run dosemu as root? No. [...]

Ačkoliv od doby vzniku toho FAQ už uteklo trochu vody. Evidentně máte problém pouze s mmap, což je "novinka". Můžete zkusit nastavit pouze potřebná privilegia místo kompletních práv roota (převzato z návodu pro wine)

sudo setcap cap_sys_rawio=ep /usr/bin/dosemu.bin

případně obejít/zrušit ochranu mapování nízké paměti
you can check the value of /proc/sys/vm/mmap_min_addr and if it is non-zero, use echo 0 > /proc/sys/vm/mmap_min_addr

Což by mělo zabrat, k tomu bych ale dodal, že po spuštění dosemu by mělo být možné zase hodnotu /proc/sys/vm/mmap_min_addr beztrestně změnit zpět.

Konečně, pro spoustu aplikací stačí "dosbox" místo "dosemu".
In Ada the typical infinite loop would normally be terminated by detonation.
1.10.2009 09:17 Franta Hanzlik
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Stáhněte si ze svn vývojovou verzi, ta už vm.mmap_min_addr = 0 nepotřebuje.

5.10.2009 16:30 zigi | skóre: 14
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
Odpovědět | | Sbalit | Link | Blokovat | Admin

jaka je hodnota /proc/sys/vm/mmap_min_addr na vasem systemu?

ubuntu 9.10 (karmic) = 0

ps: neresi bezpecnosti otazku toho parametru jeden z poslednich patchu na jadro 2.6.31?

5.10.2009 17:57 pakanek | skóre: 28 | Vyškov
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?

ps: neresi bezpecnosti otazku toho parametru jeden z poslednich patchu na jadro 2.6.31?

Toto?
Všechno dobré je pro něco zlé.
5.10.2009 22:08 zigi | skóre: 14
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
diky, trochu se mi to v hlave zamotalo .. jen jsem vedel, ze v tech poslednich chybach v jadre to nejak figurovalo (tedy v hlavne v exploitech)
5.10.2009 20:15 zmije
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?

$ cat /proc/sys/vm/mmap_min_addr
65536

5.10.2009 20:22 zmije
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?

Problém je v tom, že tu hodnotu nemohu změnit ani jako root:

$ sudo echo 0 > /proc/sys/vm/mmap_min_addr
bash: /proc/sys/vm/mmap_min_addr: Permission denied

 

5.10.2009 22:12 zigi | skóre: 14
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
takhle sudo nelze pouzit
$ echo 0 | sudo tee /proc/sys/vm/mmap_min_addr
nebo
$ sudo sysctl vm.mmap_min_addr=0
6.10.2009 06:43 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
A nebo jen
sudo echo 0 \> /proc/sys/vm/mmap_min_addr
In Ada the typical infinite loop would normally be terminated by detonation.
6.10.2009 18:16 zmije
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?

To sice chybu nehlásí, ale:

$ sudo echo 0 \> /proc/sys/vm/mmap_min_addr

$ cat /proc/sys/vm/mmap_min_addr
65536

6.10.2009 18:20 zmije
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?

$ sudo sysctl vm.mmap_min_addr=0
vm.mmap_min_addr = 0
$ cat /proc/sys/vm/mmap_min_addr
0
To funguje, i dosemu jede, první variantu jsem už nezkoušel.

6.10.2009 06:43 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Dosemu - musí běžet pod rootem?
ps: neresi bezpecnosti otazku toho parametru jeden z poslednich patchu na jadro 2.6.31?
Ne, ten řeší jen jednu konkrétní díru.
In Ada the typical infinite loop would normally be terminated by detonation.

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.