ssh ile giriş yapan başka bir kullanıcı varsa kapatmayı / askıya almayı devre dışı bırak


15

Ben ubuntu sürümlerinde 9.04 civarında kullanıcı başka bir kullanıcı giriş yaptıysanız sistemi kapatmak (ve belki de askıya) devre dışı bırakmak mümkün olduğunu unutmayın. İlke seti veya benzeri bir şey.

11.04'te yapmak mümkün mü?

Teşekkürler

Düzenle:

birisinin (kendi riski için) ihtiyacı varsa, / usr / lib / pm-utils / bin / pm-action'daki küçük değişiklik kullanıcının yalnızca oturum açmışsa veya kullanıcı sudo pm-suspend komutunu çalıştırdığında makineyi askıya almasına izin verir. Muhtemelen en iyi kod parçası değil, ama şimdilik çalışıyor.

diff -r 805887c5c0f6 pm-action
--- a/pm-action Wed Jun 29 23:32:01 2011 +0200
+++ b/pm-action Wed Jun 29 23:37:23 2011 +0200
@@ -47,6 +47,14 @@
    exit 1
 fi

+if [ "$(id -u )" == 0 -o `w -h | cut -f 1 -d " " | sort | uniq | wc -l` -eq 1 ]; then
+                echo "either youre root or root isnt here and youre only user, continuing" 1>&2
+                else
+                echo "Not suspending, root is here or there is more users" 1>&2
+                exit 2
+                fi
+
+
 remove_suspend_lock()
 {
    release_lock "${STASHNAME}.lock"

Soru hala duruyor, birden fazla kullanıcı oturum açtığında kapatmayı veya askıya almayı yasaklamak mümkün mü (pm-suspend veya stop (veya başka bir kesmek) yeniden yazmadan)?

Yanıtlar:


1

Güncelleme (enzotib sayesinde):

Ben orijinal cevap listelenen dosyalar gerekir değil bir paket güncellemesi değişiklikleri geçersiz gibi, düzenlenebilir.

Bunun yerine PolicyKit /var/lib/polkit-1/localauthority/, pklocalauthoritymanuel sayfada ayrıntılı olarak açıklandığı gibi yerleştirilmiş yapılandırma dosyaları kullanılarak yapılandırılmalıdır .

Orijinal cevap:

HAL'ın kullanımdan kaldırılmasıyla, bu artık /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy

Set allow_activeiçin aşağıda gösterilen iki eylem bölümlerde no(bunlar ayarlanır auth_admin_keepvarsayılan):

  <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>no</allow_active>
    </defaults>
  </action>

...

  <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>no</allow_active>
    </defaults>
  </action>

1
İlke dosyanızı /var/lib/polkit-1/localauthority/*.d, pklocalauthorityel ile sayfada açıklandığı gibi dizinlerinizden birinde ayarlamanız gerekir . Paketler (as /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy) tarafından yüklenen dosyaları , diğer yapılandırma dosyalarını değiştirmekten kaçının /etc/.
enzotib

@scottl Doğru okumak için cevabınızı düzenleyebilir misiniz? Şimdi okuduğu gibi, tamamen kafa karıştırıcı.
Jorge Castro
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.