tắt / tắt máy nếu có người dùng khác đăng nhập qua ssh


15

Tôi nhớ rằng trong các phiên bản ubfox khoảng 9.04 có thể vô hiệu hóa hệ thống tắt máy (và có thể tạm dừng quá) nếu có người dùng khác đăng nhập. Giống như bộ chính sách hoặc tương tự.

Có thể làm trong 11.04?

Cảm ơn

biên tập:

nếu ai đó cần (vì rủi ro riêng), ít thay đổi trong / usr / lib / pm-utils / bin / pm-action sẽ cho phép người dùng tạm dừng máy nếu anh ta chỉ đăng nhập hoặc khi người dùng sẽ chạy sudo pm-đình chỉ. Có lẽ không phải là đoạn mã tốt nhất, nhưng bây giờ hoạt động.

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"

Câu hỏi vẫn còn, liệu có thể cấm tắt máy hoặc tạm dừng khi có nhiều hơn một người dùng đăng nhập (mà không cần viết lại pm-đình chỉ hoặc tạm dừng (hoặc hack khác))?

Câu trả lời:


1

Cập nhật (nhờ enzotib):

Những tập tin tôi được liệt kê trong câu trả lời ban đầu nên không được chỉnh sửa, như một bản cập nhật gói có thể ghi đè lên thay đổi của bạn.

Thay vào đó, chính sách nên được cấu hình bằng các tệp cấu hình được đặt trong /var/lib/polkit-1/localauthority/chi tiết trong pklocalauthoritytrang hướng dẫn.

Câu trả lời gốc:

Với sự phản đối của HAL, điều này hiện được kiểm soát trong /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy

Đặt allow_activetrong hai phần hành động được hiển thị bên dưới thành no(chúng được đặt thành auth_admin_keepmặc định):

  <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
Bạn nên đặt tệp chính sách của mình trong một trong các /var/lib/polkit-1/localauthority/*.dthư mục của mình , như được giải thích trong pklocalauthoritytrang thủ công. Tránh sửa đổi các tệp được cài đặt bởi các gói (như /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy), khác với các tệp cấu hình trong /etc/.
enzotib

@scottl Bạn có thể chỉnh sửa câu trả lời của mình để đọc chính xác không? Khi nó đọc bây giờ nó hoàn toàn khó hiểu.
Jorge Castro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.