12.04では、/etc/polkit-1/localauthority/50-local.d
に次の制限を追加することで、システムのシャットダウンやログイン画面からの再起動を防ぐことができました。 (ここから適応):
[Disable lightdm PowerMgmt]
Identity=unix-user:lightdm
Action=org.freedesktop.consolekit.system.restart;org.freedesktop.consolekit.system.stop
ResultAny=no
ResultInactive=no
ResultActive=no
14.04では、このルールは効果がなくなったようです。 制限を実装する方法についてアドバイスはありますか?
承認された回答:
原因を見つけたと思います。アクションが「org.freedesktop。login1」に変更されたようです。 .reboot」(およびそのようなもの)。
次の行を/etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla
として追加します 作品:
[Disable lightdm PowerMgmt]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
確認ダイアログは引き続き表示されますが、確認するボタンはありません。見た目は醜いですが、機能します😉
残念ながら、これはlightdmセッションだけでなくすべてのユーザーに適用されるため、必要に応じて2番目のルールを追加してユーザーをホワイトリストに登録する必要があります。
このメソッドは、GUIから発行されたreboot/etcコマンドのみをブロックすることに注意してください。コマンドラインからreboot/etcコマンドをブロックするには、molly-guardを使用できます。これは、rootを含むすべてのユーザーのshutdownコマンドの無効化で説明されています。