
私のオフィスには Ubuntu Trusty デスクトップ PC がいくつかあり、通常はそれらに ssh で接続して、コマンド ラインからリモートでアップデートをインストールします。残念ながら、ローカル ユーザーがそれらの PC をシャットダウンして、アップデート プロセスが中断してしまうことがあります。
SSH セッションがアクティブなときに、ユーザーが PC をシャットダウン、再起動、またはサスペンドできないようにしたいのですが。どうすればいいでしょうか?
試してみましたmolly-guard
が、GUI ユーザーがシステムをシャットダウンするのを防ぐことはできませんでした (GUI ユーザーには影響しないようです)。
この質問も見ましたが、Ubuntu 14.04 LTS にも適用できるかどうかわかりませんでした (どのように適用すればよいかわかりません)。
SSH経由で他のユーザーがログインしている場合はシャットダウン/サスペンドを無効にする
答え1
管理者権限がある場合は、PolKit ポリシーを使用してこれを実行できます。
(たとえば).pkla
に次の内容を含むファイルを作成します:/etc/polkit-1/localauthority/50-local.d
disable-shutdown.pkla
[Disable Shutdown, etc.]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
この-multiple-sessions
部分は、複数のユーザーがログインしている場合に使用します。このサフィックスが付いていない類似のアクションもあります。私の知る限り、これにより GUI からのこれらのアクションが無効になります。
この方法はGUIから発行された再起動などのコマンドのみをブロックすることに注意してください。コマンドラインからの再起動などのコマンドをブロックするには、molly-guardを使用します。ルートユーザーも含め、すべてのユーザーに対してシャットダウン コマンドを無効にすると、どのような影響がありますか?