Ubuntu to dystrybucja systemu operacyjnego GNU / Linux, który z kolei należy do rodziny systemów uniksowych - wspólnej architektury dla wielu nowoczesnych systemów operacyjnych.
Tradycyjnie Unix działał na komputerach mainframe. Centralne urządzenia komputerowe obsługujące dziesiątki lub setki użytkowników za pośrednictwem zdalnych terminali. Ponieważ wszyscy użytkownicy polegali na dostępności komputera mainframe, żaden pojedynczy użytkownik nie mógł wydać polecenia zamknięcia. Pomysł, który ma fundamentalne znaczenie dla architektury Uniksa - jądro systemu nigdy nie zainicjuje wyłączenia, chyba że odpowiednia funkcja zostanie wywołana przez proces administratora.
We współczesnych systemach komputerowych programiści podjęli pewne starania, aby wyłączenie było dostępne dla zwykłego użytkownika pulpitu. Powszechną techniką jest umożliwienie menedżerowi logowania, który zwykle działa w kontekście bezpieczeństwa użytkownika root, obsługi zamykania i ponownego uruchamiania. W takim przypadku powłoka graficzna wysyła do menedżera logowania żądanie wyłączenia komputera. Wiąże się to z wykorzystaniem komunikacji międzyprocesowej (IPC), zwykle za pośrednictwem usługi dbus.
Wyżej wymieniony zestaw zasad rozszerza ten proces, zapewniając ustandaryzowaną strukturę, dzięki której menedżer logowania (lub jakikolwiek program zapewniający usługę zamykania) może sprawdzić, którzy użytkownicy mogą spowodować zamknięcie, i za pomocą których administrator może odpowiednio skonfigurować te uprawnienia.
Niektóre środowiska pulpitu nie używają usług opartych na IPC, ale raczej zestaw programów pomocniczych zapewniających te same lub podobne funkcje. Te programy pomocnicze byłyby wywoływane za pomocą mechanizmów, pozwalających na przejście w kontekst administratora, takich jak sudo, suid lub mechanizm policykit podobny do sudo.
W każdym razie głupi tradycyjny program zamykający w powłoce nie działa w ten sposób. Wymaga to zobaczenia, że jest uruchamiany w kontekście superużytkownika.
sudo shutdown -h now
ale problem polegał na tym, że bez pozwolenia dostępu doshutdown
niego nigdy nie działa. Ponieważ gdzie / jak poprosi o hasło po naciśnięciu klawisza skrótu .. Mam nadzieję, że rozumiesz moją sytuację .. :)