¿Cuál es la forma más "Ubuntu" de evitar que ciertos usuarios cierren, suspendan, etc.?

21

En un sistema Unix tradicional, los usuarios no root no pueden hacer esto. ¿Qué les brinda a los usuarios esta capacidad en entornos de escritorio modernos y cómo haría para deshabilitar esto por usuario o por grupo?

He visto un gran método para evitar que alguien cierre / suspenda, pero idealmente lo que estoy buscando es evitar que ciertos usuarios (como agregarlos / eliminarlos de un determinado grupo de usuarios) puedan ejecutar un cierre , reiniciar, suspender.

thomasrutter
fuente

Respuestas:

20

Como se menciona en la otra pregunta, puede controlar estas acciones a través del sistema de autoridad local de PolicyKit.

Si crea un archivo /etc/polkit-1/50-local.d/restrict-shutdown.pklacon contenido como:

[Disable shutdown/etc for group restricted]
Identity=unix-group:restricted
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

Esto evitará que cualquier miembro del grupo restrictedrealice las acciones coincidentes. Alternativamente, si desea restringir usuarios individuales, reemplace unix-group:restrictedcon unix-user:user1;unix-user:user2;.... Cualquier usuario que no coincida con esta política debería terminar con el comportamiento predeterminado.

James Henstridge
fuente
Ya no funciona en 14.04.1.
desvío
0

Crea y edita este archivo como root:

/etc/polkit-1/localauthority/50-local.d/power-management.pkla

Copie y pegue lo siguiente:

[Disable shutdown/restart for users jim jane]
Identity=unix-user:jim;unix-user:jane
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend/hibernate for users jim jane]
Identity=unix-user:a;unix-user:vvpinker
Action=org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
Sepero
fuente