Який самий "Ubuntu" спосіб запобігання певним користувачам відключити, призупинити тощо?


21

У традиційній системі Unix користувачі, які не мають root, не можуть цього зробити. Що це дає користувачам таку можливість у сучасних робочих середовищах, і як би я міг відключити це на основі кожного користувача або групи?

Я бачив чудовий спосіб запобігти будь-кому вимкнення / призупинення роботи, але в ідеалі я шукаю - не допускати певних користувачів (наприклад, додаючи / видаляючи їх із певної групи користувачів) не в змозі виконати відключення. , перезапустити, призупинити.

Відповіді:


20

Як було сказано в іншому запитанні, ви можете контролювати ці дії через систему місцевої влади PolicyKit.

Якщо ви створюєте файл /etc/polkit-1/50-local.d/restrict-shutdown.pklaіз таким вмістом, як:

[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

Це не дозволить будь-якому члену групи restrictedвиконувати відповідні дії. Крім того, якщо ви хочете обмежити окремих користувачів, замініть unix-group:restrictedна unix-user:user1;unix-user:user2;.... Будь-який користувач, який не відповідає цій політиці, повинен відповідати поведінці за замовчуванням.


Більше не працює 14.04.1.
detly

0

Створіть та відредагуйте цей файл як корінь:

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

Скопіюйте та вставте наступне:

[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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.