Portál AbcLinuxu, 5. května 2025 23:14
Už jsem pákrát zažil, že se počítač opravdu kousnul. Někdy víc, někdy míň, ale jediná věc, která vždy fungovala bylo přepnutí na virtuální terminál. Když chcu PC vypnout nebo restartovat v tomto okamžiku mohu příkazy volat pouze jako root. A jaké má řešení běžný uživatel, který by nikdy neměl znát heslo roota a ani příkaz sudo?
%wheel ALL=(root) NOPASSWD: /sbin/shutdown
%wheel ALL=(root) NOPASSWD: /sbin/halt
%wheel ALL=(root) NOPASSWD: /sbin/reboot
jasně, takže mu ty příkazy jen povolím. Nakonec mu vůbec nemusím říkat co sudo znamená a navíc i když mu to řeknu, tak to stejně na jiné příkazy nemůže použít. Akorát ještě nevím (neznalost), proč příkazy pro vypnutí může volat jenom root. Nemá to nějaké bezpečností souvislosti? A gdm, kdm, xdm když volají halt, tak se taky tváří jako root?
- linux je multipouzivatelsky system a preto je neziaduce aby mohol hociaky uzivatel vypnut masinu (keby mohol vypnut server hocikto kto ma ssh access tak to by riadne zavanalo problemom). Pokial nejde o servrovu masinu tak sa vypinanie vacsinou riesi cez klikatko v UI, alebo login manageri, popripade ako uz kolega pisal cez sudo.
- login manager bezi pod rootom aby mohol prihlasit hociakeho autentifikovaneho uzivatela a teda reboot/halt moze volat ako root
console-kit-daemon
a (interface org.freedesktop.ConsoleKit.Manager
). Ten si přes PolicyKit ověří, zda je k tomu daný uživatel oprávněn, a když ano, provede to. Oprávnění se dají nastavovat v GUI polkit-gnome-authorization
. V tomto případě je to konkrétně akce s identifikátorem org.freedesktop.consolekit.system.stop
.
Díky za info
Když to tu už zaznělo, mně přijde SysMagicRq jako docela bezpečnostní díra právě kvůli možnosti vypnutí přes Alt+SysRq+O ... co si o tom myslíte?
Třeba přemountovat z RW na RO.
To teda nevím jak, nota bene když OOM můžete vyvolat i vzdáleně.
Třeba tak, že by tím odstřeleným procesem byl vlock, xlock nebo něco podobného. Spolehlivě se to samozřejmě zařídit nedá, ale stoprocentně nemožné to také není.
Ad zpřístupnění klávesnice a monitoru ale ne počítače: dejte mi příklad z praxe, kde je to prospěšné a čemu...
Třeba jakákoli forma "informačního kiosku" - jízdní řády nebo objednávkový automat na nádraží, počítač, na kterém si může zákazník naťukat objednávku (jako mají třeba v Alze) atd. V některých případech vystačíte s redukovanou klávesnicí (šipky, Enter, Esc), ale ne vždy. Nebo třeba v internetové kavárně.
Ideálně tlačítkem na bedne.
Už cca deset let maji PC acpi kompatibilní zdroje, ktere umožňují komunikaci s deskou (biosem) i při vypínání. Stačí mít acpi demona (obvykle default) a ten zařídí vše potřebné.
Okrem už spomínaného sudo je tu možnosť nainštalovať a mať spustený acpid. Ten potom odchytí stlačenie vypínača na počítačovej skrini (alebo notebooku) a shutdown inicializuje sám.
Da se pres suid bit.
chmod +s /sbin/shutdown
/sbin/shutdown
může být skript.
#%PAM-1.0 auth sufficient pam_rootok.so auth required pam_console.so account required pam_permit.soTučný řádek dává lokálním uživatelům (tj, přihlášeným na konzole) možnost příkaz použít. Jelikož takový uživatel může většinou stejně počítač vypnout fyzicky, nic se nemění. Nejmenovná distribuce, kterou používám, to má takto nastveno implicitně.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.