ปิดการใช้งานการปิด / ระงับหากมีผู้ใช้อื่นเข้าสู่ระบบผ่าน ssh


15

ฉันจำได้ว่าในเวอร์ชั่นของอูบุนตูประมาณ 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"

คำถามยังคงเป็นไปได้หรือไม่ที่จะห้ามการปิดระบบหรือหยุดชั่วคราวเมื่อมีผู้ใช้มากกว่าหนึ่งคนเข้าสู่ระบบ

คำตอบ:


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.