Bu eylemlere kullanıcı erişimi polkit tarafından kontrol edilir. Özellikle, aşağıdaki eylemlere karşılık gelirler:
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.restart
org.freedesktop.upower.suspend
org.freedesktop.upower.hibernate
Tüm bu eylemlere varsayılan olarak etkin yerel kullanıcılar için izin verilir (ancak consolekitilk iki iznin yalnızca sistemde oturum açmış tek bir kullanıcı olduğunda çalışması kısıtlanır).
Bu eylemleri devre dışı bırakmak istiyorsanız, aşağıdakileri /etc/polkit-1/50-local.d/disable-shutdown.pklaiçeren bir dosya oluşturun:
[Disable shutdown/whatever]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no
Bu, bu işlemlerin tamamlanmasını engellemelidir. Bu ilke dosyaları hakkında daha fazla bilgi çalıştırılarak bulunabilir man pklocalauthority.
rootYine de kısıtlamaya çalışıyorsanız , bu sadece küçük bir rahatsızlık olacaktır. Tanım rootolarak, geleneksel UNIX isteğe bağlı erişim kontrol sistemine göre sınırsız bir hesaptır. Tam rooterişim izni verdiğiniz kullanıcılara güvenemiyorsanız , yalnızca sistemi kapatan onlardan daha büyük sorunlarınız vardır.
Daha sonraki Ubuntu versiyonlarında birisinin uyumluluğu bozmaya karar verdiğini unutmayın. Cevap olarak 14.04 yılında lightdm devre dışı bırakmak kapatma / yeniden başlatma nasıl? eylem "org.freedesktop. login1 .reboot" (ve benzeri) olarak değişmiş gibi görünüyor .
Örneğin, 14.04'te aşağıdaki satırları çalışma olarak ekleme /etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla:
[Disable lightdm PowerMgmt]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
Buna ek olarak, bu yöntemin GUI'den verilen reboot / etc komutlarını bloke ettiğini unutmayın. Yeniden başlatma engellemek için / etc komutlar komut satırı birinden molly-bekçi kullanabilir - açıklandığı gibi , tüm kullanıcılar için kapatma komutunu devre dışı bırakılması bile kök - sonuçları?
shutdownvepm-suspendgelen/sbin/ve/bin/