従来のUnixシステムでは、非ルートユーザーはこれを行うことができません。現代のデスクトップ環境でユーザーにこの機能を提供するのは何ですか?また、ユーザーごとまたはグループごとにこれを無効にするにはどうすればよいですか?
私は誰もがシャットダウン/サスペンドすることを防ぐ素晴らしい方法を見てきましたが、理想的には、特定のユーザーを特定のユーザーグループに追加/削除するなどしてシャットダウンを実行できないようにすることです、再起動、サスペンド。
従来のUnixシステムでは、非ルートユーザーはこれを行うことができません。現代のデスクトップ環境でユーザーにこの機能を提供するのは何ですか?また、ユーザーごとまたはグループごとにこれを無効にするにはどうすればよいですか?
私は誰もがシャットダウン/サスペンドすることを防ぐ素晴らしい方法を見てきましたが、理想的には、特定のユーザーを特定のユーザーグループに追加/削除するなどしてシャットダウンを実行できないようにすることです、再起動、サスペンド。
回答:
他の質問で述べたように、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;...
。このポリシーに一致しないユーザーは、デフォルトの動作になります。
このファイルをルートとして作成および編集します。
/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