Desktop Linux dapat melakukan beberapa tindakan yang jika tidak tersedia bagi pengguna ketika login dari terminal. Tindakan seperti mematikan sistem, dan mengubah waktu sistem hanya dapat diakses oleh pengguna sudo setelah memasukkan kata sandi. Bagaimana cara kerjanya? Apakah ada daemon root yang berjalan yang mengambil perintah dari pengguna login. Tolong arahkan saya ke jawaban yang tepat.
Saya menjalankan Ubuntu 13.10.
mount
(ing) mungkin dapat sedikit membantu dalam memahami. Saya, secara pribadi, sangat mengunyah mereka saat iniJawaban:
Saat ini di Ubuntu, shutdown yang sebenarnya dilakukan oleh
console-kit-daemon
, daemon ConsoleKit , yang berjalan dengan hak akses root. Daemon ConsoleKit menerima permintaan penutupan dari aplikasi panel desktop melalui D-Bus . Kebijakan yang memungkinkan proses tidakrivil berbicara untuk proses istimewa ditangani oleh polkit (sebelumnya PolicyKit). Anda dapat meniru permintaan ConsoleKit melaluidbus-send
jika Anda mau. Secara khusus, untuk memberi tahu ConsoleKit untuk melakukan shutdown yang dapat Anda lakukan:Di Ubuntu, ConsoleKit menggantikan Hardware Abstraction Layer (HAL), sebuah subsistem yang bertujuan untuk memungkinkan aplikasi desktop menemukan dan menggunakan perangkat keras sistem host melalui API portabel dan abstrak, terlepas dari jenis perangkat keras yang mendasarinya. HAL saat ini sudah usang di sebagian besar distribusi Linux.
dbus-send
Doa yang setara dengan menggunakan HAL adalah:Saat ini, ConsoleKit tidak dipelihara secara aktif. Fokus dari proyek freedesktop.org telah bergeser ke arah manajemen kursi / pengguna / sesi built-in dari sistem systemd init yang disebut systemd-logind . Bagaimana ini akan mempengaruhi distribusi yang mengadopsi sistem init mereka sendiri, seperti pemula di Ubuntu, masih harus dilihat.
sumber