it-swarm-tr.com

Yönetici şifresi gerektirmeyen kapatma işlemini nasıl yapabilirim?

Bilgisayarımda birden fazla kişi oturum açtıysa, Ubuntu bilgisayarı kapatırken süper kullanıcı kimlik doğrulaması gerektirir. Herhangi bir kullanıcının parola istenmeden bilgisayarı kapatabilmesi için bunu nasıl yapabilirim?

50
Isaiah

Geçici bir çözüme ihtiyacınız yoktur, kapatma için yönetici olarak kimlik doğrulaması yapmadan kapatmanıza ve birden fazla kullanıcı oturum açtığında yeniden başlatmanıza izin vermek için politikayı değiştirmeniz yeterlidir.

/Usr/share/polkit-1/actions/org.freedesktop.consolekit.policy dosyasını favori metin düzenleyicinizi kullanarak düzenleyin. Kök izinlerine ihtiyacınız olacak.

Başkaları oturum açtığında kapatma ile ilgili bölümü değiştirin

  <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>

için

  <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>

ve diğerleri oturum açtığında yeniden başlatmayla ilgili bölüm

  <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>

için

  <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>

Bu, birden fazla kullanıcı oturum açtığında bilgisayarı kapatıp yeniden başlatmanıza olanak tanır. Bunu yapmak isteyip istemediğiniz farklı bir sorudur.

27
Richard Holloway

Richard Holloway'ın cevabı aslında PolickKit yetkilerinin verilmesi anlamına gelmiyor. /usr/share/polkit-1/actions Altında kurulan dosyaların değiştirilmesi amaçlanmamıştır. Bunun yerine, /etc/polkit-1/localauthority/50-local.d/ Altındaki yetkilileri değiştirmeniz gerekir.

Bu soru için bunu nasıl yapacağınız aşağıda açıklanmıştır:

/etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown.pkla Adlı bir dosya oluşturun ve sudoedit kullanarak aşağıdaki gibi düzenleyin:

[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultInactive=no
ResultActive=yes

Ardından aynı dizinde başka bir .pkla Dosyası oluşturun. .pkla İle bitirmek istediğiniz herhangi bir adı kullanın, örneğin allow_all_users_to_restart.pkla Ve şu içeriklerle doldurun:

[Allow all users to restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultInactive=no
ResultActive=yes

Referanslar:

33
Flimm

Daha iyi bir yol var. Dbus-send yüklüyse, dbus aracılığıyla kök ayrıcalıklarına yükselmeye gerek kalmadan kapatabilirsiniz.

Belgelerin bulunduğu sayfayı hatırlayamıyorum, ancak bir Archlinux kullanıcısı bunu anladı.

Kapatma:

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

yeniden doğmuş:

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

Askıya:

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:1

kipi:

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

Saygılarımızla.

16
ibuclaw

HAL şimdi kullanımdan kaldırılmış ve en son Ubuntu sürümlerine yüklenmemiş gibi görünüyor.

Güç durumunu yönetmek için ConsoleKit ve Power dbus hizmetlerini kullanmalısınız

Kapat:

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Tekrar başlat:

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

Askıya:

dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Hazırda:

dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate

Arch Linux sayesinde forumlar .

Bu şimdilik Precise ve Quantal'da çalışıyor, ancak Freedesktop odağının ConsoleKit'ten systemd'ye ne kadar süre kaydırıldığını bilmiyorum. Kanonik umurunda değil mi bilmiyorum ...

12
Epeli

Bu, 14.04'te çalışır. Önceki IMO'nun güncellenmiş bir varyasyonu, doğru Flimm tarafından cevap .

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 

Bunu içine yapıştır:

[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

Diğer kullanıcılar bir terminal penceresi açmaktan ve reboot komutunu root olarak verirken yeniden başlatılırken süper kullanıcı parolası sormaktan kaçınmanın bir yolu yoktur:

Sudo reboot

Yine de, kullanıcı hesabınız için parola sormak üzere yapılandırılmamışsa, Sudo da parolanızı girmenizi ister.

Endişelenme, bunlar İYİ şeyler. Yeniden başlatma nadir olmalı ve basit bir yönetici şifresi İstemi yanlışlıkla kendinize zarar vermenizi önler!

1
jathanism

Bu görevi gerçekleştirmek için izin vermek istediğiniz gruba/kullanıcıya atanmış sudoers dosyasına durma ve/veya yeniden başlatma ekleyin. Bu şekilde, kimin kapatabileceğini kontrol edebilirsiniz, ancak makineye tam root erişimi vermeden ..

http://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-without-Sudo-password/

0
tommed

Bunun sadece komut satırı üzerinden yapıldığında bir sorun olduğuna inanıyorum.

Eğer öyleyse, probleminize yardımcı olabilecek bir link .

0
myusuf3