Jika lebih dari satu orang login di komputer saya, Ubuntu membutuhkan otentikasi pengguna super saat mematikan komputer. Bagaimana saya bisa membuatnya sehingga setiap pengguna dapat mematikan komputer tanpa diminta kata sandi?
Jika lebih dari satu orang login di komputer saya, Ubuntu membutuhkan otentikasi pengguna super saat mematikan komputer. Bagaimana saya bisa membuatnya sehingga setiap pengguna dapat mematikan komputer tanpa diminta kata sandi?
Jawaban:
Anda tidak perlu solusinya, cukup ubah kebijakan untuk memungkinkan Anda mematikan tanpa mengautentikasi sebagai admin untuk shutdown dan reboot ketika banyak pengguna masuk.
Edit file /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy menggunakan editor teks favorit Anda. Anda akan membutuhkan izin root.
Ubah bagian yang berkaitan dengan penutupan ketika orang lain masuk dari
<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>auth_admin_keep</allow_active>
</defaults>
</action>
untuk
<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>yes</allow_active>
</defaults>
</action>
dan bagian yang berkaitan dengan me-reboot ketika orang lain masuk
<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>auth_admin_keep</allow_active>
</defaults>
</action>
untuk
<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>yes</allow_active>
</defaults>
</action>
Dan itu akan memungkinkan Anda mematikan dan me-reboot PC ketika banyak pengguna masuk. Apakah Anda ingin melakukan itu adalah pertanyaan yang berbeda.
Jawaban Richard Holloway sebenarnya bukan cara otorisasi PolickKit seharusnya diberikan. File yang dipasang di bawah /usr/share/polkit-1/actions
tidak dimaksudkan untuk dimodifikasi. Sebagai gantinya, Anda harus memodifikasi otoritas di bawah /etc/polkit-1/localauthority/50-local.d/
.
Inilah cara Anda melakukannya untuk pertanyaan ini:
Buat file bernama /etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown.pkla
dan edit menggunakan sudoedit
agar terlihat seperti ini:
[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultInactive=no
ResultActive=yes
Kemudian buat .pkla
file lain di direktori yang sama. Gunakan nama apa pun yang Anda suka berakhir dengan .pkla
, misalnya allow_all_users_to_restart.pkla
, dan isi dengan konten ini:
[Allow all users to restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultInactive=no
ResultActive=yes
/var/lib/polkit-1/localauthority/50-local.d
dan baris tambahan ResultAny=yes
diperlukan untuk kedua file. Satu-satunya pesan peringatan yang saya dapatkan sekarang adalah Failed to set wall message, ignoring: Interactive authentication required.
, tetapi mematikan dan memulai kembali berfungsi dengan benar sekarang.
sysctl poweroff -i
diperlukan org.freedesktop.login1.power-off-multiple-sessions
, jadi saya membuat file terpisah dengan baris yang sama kecuali denganAction=org.freedesktop.login1.power-off-multiple-sessions
Ada cara yang lebih baik. Jika Anda telah menginstal dbus-send, Anda dapat mematikan melalui dbus tanpa perlu meningkatkan hak akses root .
Saya tidak dapat mengingat halaman di mana dokumentasinya, tetapi seorang pengguna Archlinux menemukan ini.
Mematikan:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
Mulai ulang:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Reboot
Menangguhkan:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:1
Hibernasi:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate
Salam.
HAL tampaknya sekarang sudah usang dan tidak diinstal pada rilis Ubuntu terbaru.
Anda harus menggunakan layanan ConsoleKit dan UPower dbus untuk mengelola status daya
Mematikan:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Mengulang kembali:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
Menangguhkan:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Hibernasi:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
Terima kasih untuk forum Arch Linux .
Ini bekerja untuk saat ini di Precise dan Quantal, tetapi tidak tahu berapa lama sejak fokus Freedesktop tampaknya bergeser dari ConsoleKit ke systemd. Tidak tahu apakah Canonical peduli ...
Ini bekerja pada 14,04. Variasi yang diperbarui dari jawaban IMO sebelumnya yang benar oleh Flimm .
sudo mkdir -p /etc/polkit-1/localauthority/50-local.d
sudoedit /etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown_reboot_suspend.pkla
Rekatkan ini di dalam:
[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off-multiple-sessions
ResultActive=yes
[Allow all users to reboot]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions
ResultActive=yes
[Allow all users to suspend]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultActive=yes
[Allow all users to ignore inhibit of shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off-ignore-inhibit
ResultActive=yes
[Allow all users to ignore inhibit of reboot]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-ignore-inhibit
ResultActive=yes
[Allow all users to ignore inhibit of suspend]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-ignore-inhibit
ResultActive=yes
Tidak ada cara untuk menghindari prompt untuk kata sandi pengguna super saat me-reboot sementara pengguna lain login pendek membuka jendela terminal dan mengeluarkan reboot
perintah sebagai root:
sudo reboot
Meskipun demikian, jika tidak dikonfigurasikan untuk memintas kata sandi yang meminta akun pengguna Anda, sudo
juga akan meminta kata sandi Anda.
Jangan khawatir, ini adalah hal-hal BAIK. Mem-boot ulang harus jarang dilakukan dan prompt kata sandi admin sederhana akan menyelamatkan diri Anda secara tidak sengaja!
Tambahkan halt dan / atau reboot ke file sudoers yang ditugaskan ke grup / pengguna yang Anda izinkan untuk melakukan tugas ini. Dengan begitu Anda masih dapat mengontrol siapa yang dapat mematikan, tetapi tanpa memberi mereka akses root penuh ke mesin ..
http://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-without-sudo-password/
Rupanya, Anda dapat mematikan tanpa root dari GUI karena gdm berjalan sebagai root. Gnome memberitahu gdm untuk mematikan, dan gdm melakukannya.
Anda dapat melakukan sesuatu yang mirip dengan skrip. Saya tidak yakin seberapa praktis Anda dengan BASH, tetapi saya percaya orang dapat menulis skrip yang berjalan sebagai root dan, ketika menerima sinyal tertentu, menjalankan perintah shutdown.
Perlu diingat bahwa ini dapat menimbulkan masalah keamanan.