Làm cách nào tôi có thể định cấu hình dbus để cho phép người dùng ssh tạm dừng máy chủ?


9

Tôi cố gắng tạm dừng máy chủ của mình bằng cách sử dụng dbus và UPower. Máy chủ chạy Ubuntu LucidLynx 64 bit.

Mặc dù mọi thứ đều hoạt động tốt nếu tôi ngồi trực tiếp vào máy, nó sẽ không hoạt động thông qua ssh. Nếu tôi kết nối với máy chủ qua ssh và cố gắng tạm dừng máy bằng cách sử dụng dbus và upower, nó sẽ trả lại

dbus.exceptions.DBusException: org.freedesktop.UPower.GeneralError: không được ủy quyền

Ai đó có thể vui lòng cho tôi biết cách định cấu hình dbus để cho phép người dùng ssh tạm ngưng máy không?


btw: Tôi LÀM Grep và sử dụng địa chỉ phiên bản dbus hiện tại ...
Produnis

2
Bạn có thể cho một số chi tiết về phương pháp bạn đang sử dụng? Dòng lệnh, công cụ nào, v.v.
Kees Cook

Câu trả lời:


12

Có hai cách cơ bản có thể được thực hiện và cách giải quyết:

Bạn cần sửa đổi /usr/share/polkit-1/actions/org.freedesktop.upower.policy, đặt XDG_SESSION_COOKIEbiến môi trường thành giá trị phù hợp hoặc sử dụng pm-suspend:

Sửa đổi /usr/share/polkit-1/actions/org.freedesktop.upower.policy

Áp dụng bản vá này:

--- /usr/share/polkit-1/actions/org.freedesktop.upower.policy.orig  2011-11-16 19:06:59.274055248 +0100
+++ /usr/share/polkit-1/actions/org.freedesktop.upower.policy   2011-11-16 19:11:15.178864922 +0100
@@ -21,6 +21,7 @@
     <defaults>
       <allow_inactive>no</allow_inactive>
       <allow_active>yes</allow_active>
+      <allow_any>yes</allow_any>
     </defaults>
   </action>

(Tới <action id="org.freedesktop.upower.suspend">thẻ / phần) và nó cũng sẽ hoạt động ...

hoặc là

XDG_SESSION_COOKIE

Khi bạn đang sử dụng máy tính để bàn, bạn sẽ thấy $XDG_SESSION_COOKIEcó một giá trị, nhưng trong phiên ssh, nó có giá trị khác. Lưu trữ, XDG_SESSION_COOKIEví dụ như trong .dotfile hoặc một cái gì đó khi máy tính để bàn khởi động và lấy nó trong tập lệnh của bạn cần thực hiện trên ssh.

chiều-đình chỉ

Hoặc bạn chỉ có thể từ bỏ ngày làm việc đó với dbusUPowervà chỉ vấn đề pm-suspendnhư là người chủ và làm cho nó qua với! :-)


1
+1 cho "chỉ cần phát hành pm-đình chỉ với quyền root và vượt qua!" - có sẵn từ gói pm-utils.
Bjoern Dahlgren

5

Các tập tin dưới /usr/share/polkit-1/actionskhông có nghĩa là phải sửa đổi.

Tạo một tệp có tên /etc/polkit-1/localauthority/50-local.d/allow_all_ssh-users_to_upower.pkla

[Allow all ssh-users to upower]
Identity=unix-group:ssh-users
Action=org.freedesktop.upower.policy
ResultInactive=no
ResultActive=yes
AllowAny=yes

Có một lỗi đánh máy trong câu trả lời - dòng cuối cùng nên nói ResultAny, không AllowAny.
Emil Styrke
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.