ทำไม `reboot 'และ` poweroff` ทำงานโดยไม่มีสิทธิ์ผู้ใช้ขั้นสูงใน Ubuntu 16.04?


10

มีคำถามมากมายเกี่ยวกับสาเหตุshutdownและrebootต้องการสิทธิ์รูต มีคำตอบที่ดีมากมายเช่นกัน

แต่มีบางอย่างที่ฉันไม่เข้าใจ : หากสามารถรีบูทหรือปิดเครื่องโดยไม่ได้รับสิทธิ์รูทในระบบผู้ใช้หลายคนเป็นความคิดที่แย่มาก ... แล้วทำไมจึงเป็นไปได้ใน Ubuntu 16.04

เมื่อฉันพิมพ์poweroffหรือrebootเทอร์มินัลแล้วกดปุ่มEnterมันก็จะปิด / เปิดเครื่องใหม่!

มันไม่เป็นไรสำหรับฉันเมื่อpoweroffและrebootไม่ต้องการสิทธิ์รูท ... แต่ทำไมsuspendต้องมีสิทธิ์รูท เมื่อฉันพิมพ์suspendในขั้วและตีEnterก็ไม่ได้ระงับการแทนจะได้รับติด ... และเมื่อผมทำงานpm-suspend, sudoมันต้องมี


สิ่งนี้น่าจะเป็นไปได้ในเวอร์ชั่นที่เก่ากว่าเช่นกันถ้าคุณกำหนดค่าให้ทำเช่นนั้น ( askubuntu.com/a/570969/158442สังเกตการกระทำของเซสชัน mutliple) Systemd ทำสิ่งนี้ตามค่าเริ่มต้น ยังเห็นใน Arch Linux
muru

คำตอบ:


3

สำหรับฉันทั้งสองpoweroffและไม่rebootต้องการรหัสผ่านบน Ubuntu 16.04

อย่างไรก็ตามเพื่อให้สิ่งนี้เกิดขึ้นฉันต้องสร้างบัญชีผู้ใช้ชื่อ "foo" ตัวอย่างเช่นจากนั้น ssh to localhost ไม่ว่าจะเป็นผู้ใช้รายนั้นหรือตัวฉันเอง เมื่อฉันทำสิ่งนี้ฉันต้องพิสูจน์ตัวเอง ดูเหมือนว่าจะมีผู้ใช้คนอื่นเข้าสู่ระบบ

ตัวอย่างเช่นฉันได้รับข้อความนี้:

User foo is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.

สันนิษฐานว่าเป็น "ฉลาด" เพียงพอที่จะรู้ว่าเมื่อมีผู้ใช้อื่นลงชื่อเข้าใช้

(ฉันเห็นด้วยกับคุณว่ามันเป็นเรื่องดีที่จะรับรองความถูกต้องเป็น root เสมอในบางครั้งไม่มีผู้ใช้รายอื่นเข้าสู่ระบบ แต่กระบวนการสำคัญกำลังทำงานในพื้นหลังที่ทำการคำนวณบางประเภท)

แก้ไข: ลองเอง หากฉันเข้าสู่ระบบในฐานะ foo ฉันต้องตรวจสอบตัวเอง (ผู้ที่อยู่ในกลุ่ม sudo) หากฉันรีบูทตัวเองด้วย foo ที่ยังเข้าสู่ระบบฉันต้องพิมพ์systemctl reboot -iโดยไม่มีรหัสผ่าน ฉันเข้าใจว่าความแตกต่างคือระบบรู้ว่าฉันอยู่ในกลุ่ม sudo

แก้ไข 2: ตามที่ระบุไว้โดย Severus Tux systemctl suspend -iประพฤติตนคล้ายกับsystemctl reboot -iจากการแก้ไขก่อนหน้า


อ่า .. ฉันไม่ได้ลอง BTW คำสั่งระงับการทำงานบนเครื่องของคุณ? ฉันต้องตรวจสอบให้แน่ใจว่ามันเป็นข้อผิดพลาด
Severus Tux

หากฉันไปที่โลคัลโฮสต์และระงับฉันไม่สำเร็จ ฉันได้รับ "-bash: suspend: ไม่สามารถระงับเชลล์ล็อกอิน" ได้
เรย์

ถ้าฉันเปิดหน้าต่างและลอง "หยุด" หน้าต่างเทอร์มินัลค้าง :-) ไม่ใช่สัญญาณที่ดี ... ฉันคิดว่าไม่เกี่ยวข้อง อย่างไรก็ตามขอขอบคุณสำหรับการถาม! ฉันไม่เคยคิดจะลองเอง แต่คำถามของคุณทำให้ฉันอยากรู้ ฉันยังคงติดนิสัยการรีบูตด้วย sudo ... ไม่สังเกตเห็นการเปลี่ยนแปลงที่ลึกซึ้งนี้
เรย์

ขอบคุณ. ดังที่คุณพูดเกี่ยวกับการรีบูท "systemctl suspend -i" ก็ใช้งานได้ดีเช่นกัน ลองเพิ่มเข้าไปในคำตอบของคุณ
Severus Tux

ตกลง! ฉันอาจจะเพิ่มมันทั้งหมดด้วยข้อความเดียว แต่ทุกครั้งที่ฉันพยายามทำบางสิ่งบางอย่างมันทำให้เกิดการรีบูตดังนั้นฉันต้องบันทึกสิ่งที่ฉันโพสต์ ...
Ray
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.