- pklocalauthority está en desuso
- Necesita systemd con logind y polkit.
Acciones disponibles
pkaction
# or /usr/share/polkit-1/actions/
Deberías mirar /usr/share/polkit-1/actions/org.freedesktop.login1.policy
Añadir regla
Primero comience a monitorear los mensajes del sistema, para que podamos ver si nuestra nueva regla funciona:
journalctl -f
Luego crea el archivo /etc/polkit-1/rules.d/60-noreboot_norestart.rules
(en javascript).
En este archivo agregamos lógica para verificar acciones y permitir users
en power
grupo o requiere su
autorización:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions") {
if (subject.isInGroup("power")) {
return polkit.Result.YES;
} else {
return polkit.Result.AUTH_ADMIN;
}
}
});
La regla debe cargarse y debería funcionar. Referencias a continuación.
- https://lists.fedoraproject.org/pipermail/users/2013-September/440457.html
- https://wiki.archlinux.org/index.php/Polkit#Authorization_rules
- http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
- https://bbs.archlinux.org/viewtopic.php?pid=1335204#p1335204
Primero, tenga en cuenta que la función de apagado de ConsoleKit considera "usuario único" y "usuarios múltiples" como dos situaciones diferentes:apagar el sistema siempre requiere la autenticación del administrador si otros usuarios han iniciado sesión.
Todas estas acciones son administradas por PolicyKit. Si desea ajustar las políticas, puede hacerlo como se describe en polkit(8) – /etc/polkit-1/rules.d/20-disallow-shutdown.rules
:
polkit.addRule(function(action, subject) { if ((action.id == "org.freedesktop.consolekit.system.stop" || action.id == "org.freedesktop.consolekit.system.restart") && subject.isInGroup("users")) { return subject.active ? polkit.Result.AUTH_ADMIN : polkit.Result.NO; } });
PolicyKit 0.105 y versiones anteriores documentan esto en pklocalauthority(8) – /etc/polkit-1/localauthority/50-local.d/20-disallow-shutdown.pkla
:
[Disallow shutdown] Identity=unix-group:users Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart ResultAny=no ResultInactive=no ResultActive=auth_admin
El Action
Los correos electrónicos se enumeran en el archivo de políticas de ConsoleKit o ejecutando pkaction
.