RHEL7.2-n:
# pkaction -v -a org.freedesktop.login1.power-off
org.freedesktop.login1.power-off:
description: Power off the system
message: Authentication is required for powering off the system.
vendor: The systemd Project
vendor_url: http://www.freedesktop.org/wiki/Software/systemd
icon:
implicit any: auth_admin_keep
implicit inactive: auth_admin_keep
implicit active: yes
A polkit manualja szerint:
allow_active
Implicit authorizations that apply to clients in active sessions on local consoles. Optional.
Azaz ha user bejelentkezik konzolról, akkor poweroff
-fal le tudja állítani a gépet (ha épp nincs senki bejelentkezve). Ha meg igen, akkor is nyomhat egy systemctl poweroff -i
parancsot, erre még tippet is ad neki a rendszer.
Ez nekem nem tetszik... RH kiadott rá egy KB cikket, hogy lehet 'javítani'. Amit nem értek, hogy ez defaultban miért van engedélyezve (más egyéb tevékenységekkel együtt, ld. pkaction -v
). Oké, hogy van konzol hozzáférése, de ne segítsünk még neki, szerintem.
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions" ||
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.inhibit-block-shutdown" ||
action.id == "org.freedesktop.login1.inhibit-delay-shutdown" ||
action.id == "org.freedesktop.login1.suspend" ||
action.id == "org.freedesktop.login1.suspend-multiple-sessions" ||
action.id == "org.freedesktop.login1.suspend-ignore-inhibit" ||
action.id == "org.freedesktop.login1.hibernate" ||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions")
{
return polkit.Result.NO;
}
});
- 1624 megtekintés
Hozzászólások
Na, de miért ne segítsük hozzá? Ha jól tudom, amikor ignore-inhibitors kapcsolót használ valaki, akkor viszont kell tudnia a root jelszót, hogy a rendszer megtegye, amit a felhasználó kért.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Mert ez nem egy desktop rendszer, ahol a user konzolról jön be és jó ha le tudja a gépet állítani root jelszó nélkül.
Most, hogy a systemd már támogatja a PolKit-et, nem elég átnézni a szokásos sudo jogokat, setuid programokat, stb hogy lássam egy adott user mit csinálhat meg, de még a PolKit szabályokat is mazsolázzam át...
- A hozzászóláshoz be kell jelentkezni
Jó, de ha local konzolon van belépve a user akkor ott van a gépnél. Ott pedig ctrl-alt-del-t nyomhat, power gombot nyomkodhatja (hosszan is), a tábkábelt kihúzhatja, whatever.
Egyetlen potenciális problémát látok, hogy a user elkezd mindenféle netről szedett random script-eket futtatni, és az egyikbe egy vicces ember csempészett egy poweroff-ot. De az ilyen varázslást nem local konzolon szokták csinálni, szóval ennek se sok az esélye.
- A hozzászóláshoz be kell jelentkezni