Ubuntu เป็นระบบ GNU / Linux Operationg ซึ่งเป็นของตระกูล Unix ซึ่งเป็นสถาปัตยกรรมทั่วไปของระบบปฏิบัติการที่ทันสมัย
Unix ที่ใช้ในการทำงานบนคอมพิวเตอร์เมนเฟรม สิ่งอำนวยความสะดวกด้านการประมวลผลส่วนกลางซึ่งให้บริการ dozends หรือผู้ใช้หลายร้อยคนผ่านเทอร์มินัลระยะไกล เนื่องจากผู้ใช้ทั้งหมดอาศัยความพร้อมใช้งานของเมนเฟรมจึงไม่อนุญาตให้ผู้ใช้รายเดียวออกคำสั่งปิดระบบ แนวคิดที่เป็นพื้นฐานของสถาปัตยกรรม Unix - เคอร์เนลระบบจะไม่เริ่มต้นการปิดระบบเว้นแต่ว่าฟังก์ชั่นตามนั้นถูกเรียกใช้โดยกระบวนการ superuser
ในปัจจุบันนักพัฒนาระบบเดสก์ท็อปได้ผ่านความเจ็บปวดบางอย่างเพื่อให้การปิดการใช้งานสำหรับผู้ใช้เดสก์ท็อปเท่านั้น เทคนิคทั่วไปคือเพื่อให้ตัวจัดการล็อกอินซึ่งโดยปกติจะทำงานในบริบทความปลอดภัยของผู้ใช้รูทจัดการการปิดและรีบูต ในกรณีนี้เชลล์กราฟิกออกคำขอไปยังตัวจัดการการเข้าสู่ระบบเพื่อปิดเครื่องคอมพิวเตอร์ สิ่งนี้เกี่ยวข้องกับการใช้การสื่อสารระหว่างกระบวนการ (IPC) โดยปกติผ่านบริการ dbus
ชุดนโยบายดังกล่าวข้างต้นขยายกระบวนการนี้โดยการจัดทำกรอบมาตรฐานที่ผู้จัดการการเข้าสู่ระบบ (หรือโปรแกรมใด ๆ ที่ให้บริการปิดระบบ) สามารถตรวจสอบสิ่งที่ผู้ใช้จะได้รับอนุญาตให้ก่อให้เกิดการปิดและผ่านผู้ดูแลระบบสามารถกำหนดสิทธิ์
สภาพแวดล้อมเดสก์ท็อปบางอย่างไม่ได้ใช้บริการที่ใช้ IPC แต่เป็นชุดของโปรแกรมตัวช่วยเพื่อมอบฟังก์ชันที่เหมือนกันหรือคล้ายกัน โปรแกรมผู้ช่วยเหลือเหล่านั้นจะถูกเรียกผ่านกลไกทำให้สามารถเปลี่ยนเป็นบริบทผู้ใช้ระดับสูงเช่น sudo, suid หรือกลไกชุดนโยบายคล้ายกับ sudo
ไม่ว่าในกรณีใดโปรแกรมการปิดแบบดั้งเดิมที่โง่บนเชลล์จะไม่ทำงานเช่นนี้คุณต้องเห็นว่ามันทำงานในบริบทของผู้ใช้ขั้นสูง
sudo shutdown -h now
แต่ปัญหาคือว่าโดยไม่ได้รับอนุญาตการเข้าถึงshutdown
มันไม่ทำงาน .. เพราะมันจะขอรหัสผ่านเพื่อป้อนหลังจากที่ไหน / อย่างไร .. หวังว่าคุณจะเข้าใจสถานการณ์ของฉัน .. :)