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?
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.
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
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.
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 ...
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
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!
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/
Bunun sadece komut satırı üzerinden yapıldığında bir sorun olduğuna inanıyorum.
Eğer öyleyse, probleminize yardımcı olabilecek bir link .