it-swarm-id.com

Bagaimana saya bisa melakukan shutdown tidak memerlukan kata sandi admin?

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?

49
Isaiah

Anda tidak perlu solusinya, cukup ubah kebijakan untuk memungkinkan Anda mematikan tanpa autentikasi 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.

27

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 file .pkla 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

Referensi:

33
Flimm

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.

Shutdown:

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

Nyalakan kembali:

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Reboot

Tangguhkan:

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.

16
ibuclaw

HAL tampaknya sekarang sudah usang dan tidak diinstal pada rilis Ubuntu terbaru.

Anda harus menggunakan ConsoleKit dan Power layanan 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 kepada Arch Linux forum .

Ini berfungsi sekarang di Precise dan Quantal, tetapi tidak tahu berapa lama sejak fokus Freedesktop tampaknya bergeser dari ConsoleKit ke systemd. Tidak tahu apakah Canonical peduli ...

12
Epeli

Ini bekerja pada 14,04. Variasi yang diperbarui dari sebelumnya, IMO, benar dijawab 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
4
Konstigt

Tidak ada cara untuk menghindari Prompt untuk kata sandi pengguna super saat me-reboot sementara pengguna lain masuk untuk membuka jendela terminal dan mengeluarkan perintah reboot sebagai root:

Sudo reboot

Meskipun demikian, jika tidak dikonfigurasikan untuk mem-bypass kata sandi yang meminta akun pengguna Anda, Sudo juga akan meminta Anda untuk kata sandi Anda.

Jangan khawatir, ini adalah hal-hal BAIK. Mem-boot ulang harus jarang dilakukan dan kata sandi admin sederhana Prompt menyelamatkan secara tidak sengaja diri Anda!

1
jathanism

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/

0
tommed

Saya percaya ini hanya masalah ketika melakukannya melalui baris perintah.

Jika demikian, ini adalah tautan yang dapat membantu masalah Anda.

0
myusuf3