ssh経由でログインしている他のユーザーがいる場合、シャットダウン/サスペンドを無効にします


15

私は、ubuntuのバージョン9.04で、他のユーザーがログインしている場合、ユーザーがシステムをシャットダウン(および多分サスペンド)することを無効にすることが可能であったことを覚えています。policykitなどのようなもの。

11.04で行うことは可能ですか?

ありがとう

編集:

誰かが(自分のリスクのために)必要な場合、/ usr / lib / pm-utils / bin / pm-actionを少し変更すると、ユーザーがログインしているだけの場合、またはユーザーがsudo pm-suspendを実行するときにマシンを一時停止できます。おそらく最良のコードではありませんが、今のところは動作します。

diff -r 805887c5c0f6 pm-action
--- a/pm-action Wed Jun 29 23:32:01 2011 +0200
+++ b/pm-action Wed Jun 29 23:37:23 2011 +0200
@@ -47,6 +47,14 @@
    exit 1
 fi

+if [ "$(id -u )" == 0 -o `w -h | cut -f 1 -d " " | sort | uniq | wc -l` -eq 1 ]; then
+                echo "either youre root or root isnt here and youre only user, continuing" 1>&2
+                else
+                echo "Not suspending, root is here or there is more users" 1>&2
+                exit 2
+                fi
+
+
 remove_suspend_lock()
 {
    release_lock "${STASHNAME}.lock"

質問はまだありますが、複数のユーザーがログインしているときにシャットダウンまたはサスペンドを禁止することは可能ですか(pm-suspendまたはhalt(または他のハック)を書き換えることなく)?

回答:


1

アップデート(enzotibのおかげで):

パッケージの更新により変更が上書きされる可能性があるため、元の回答にリストしたファイルは編集しないでください。

代わり/var/lib/polkit-1/localauthority/に、pklocalauthorityマニュアルページで詳しく説明されているように、PolicyKitはに配置された構成ファイルを使用して構成する必要があります。

元の回答:

HALの廃止により、これは現在、 /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy

設定するallow_activeには下記2つのアクションのセクションにno(それらが設定されているauth_admin_keepデフォルト):

  <action id="org.freedesktop.consolekit.system.stop-multiple-users">
    <description>Stop the system when multiple users are logged in</description>
    <message>System policy prevents stopping the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>no</allow_active>
    </defaults>
  </action>

...

  <action id="org.freedesktop.consolekit.system.restart-multiple-users">
    <description>Restart the system when multiple users are logged in</description>
    <message>System policy prevents restarting the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>no</allow_active>
    </defaults>
  </action>

1
マニュアルページで/var/lib/polkit-1/localauthority/*.d説明されているように、ディレクトリの1つにポリシーファイルを設定する必要がありますpklocalauthority。パッケージによってインストールされたファイル(など/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy)を変更しないでください/etc/
enzotib

@scottl答えを編集して正しく読むことができますか?今読んでいるように、それは完全に混乱しています。
ホルヘカストロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.