ssh를 통해 로그인 한 다른 사용자가있는 경우 종료 / 일시 중지 비활성화


15

우분투 버전 9.0에서 약 9.04는 다른 사용자가 로그인 한 경우 시스템을 종료 (및 아마도 일시 중단) 할 수 없도록했습니다. 정책 키트와 같은 것.

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 또는 중단 (또는 다른 핵)을 다시 쓰지 않고)?

답변:


1

업데이트 (enzotib 덕분에) :

패키지 업데이트로 변경 내용을 덮어 쓸 수 있으므로 원래 답변에 나열된 파일은 편집 하면 안됩니다 .

PolicyKit은 매뉴얼 페이지에 /var/lib/polkit-1/localauthority/설명 된대로에 배치 된 구성 파일을 사용하여 구성해야 pklocalauthority합니다.

원래 답변 :

HAL의 지원 중단으로 이제는 /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy

설정 allow_active을 아래와 같이 두 개의 액션 섹션에서 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설명 된대로 디렉토리 중 하나에 정책 파일을 설정해야 pklocalauthority합니다. 에있는 /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy다른 구성 파일 이외의 패키지로 설치된 파일을 수정하지 마십시오 /etc/.
enzotib

@scottl 정답을 편집하기 위해 답을 편집 할 수 있습니까? 지금 읽었을 때 완전히 혼란 스럽습니다.
Jorge Castro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.