Jest wiele pytań na temat tego, dlaczego shutdown
i reboot
wymagają uprawnień roota. Dostępnych jest również wiele dobrych odpowiedzi.
Dlaczego musimy być rootem w terminalu, aby zamknąć i uruchomić ponownie?
Dlaczego ponowne uruchomienie i wyłączenie wymaga uprawnień roota?
- W jaki sposób przycisk zasilania wyłącza komputer bez uprawnień administratora?
Ale jest coś, czego nie rozumiem : jeśli możliwość ponownego uruchomienia lub zamknięcia bez uprawnień roota w systemie wielu użytkowników jest bardzo złym pomysłem ... to dlaczego jest to możliwe w Ubuntu 16.04?
Kiedy piszę poweroff
lub reboot
w terminalu i wciskam Enter, to naprawdę wyłącza się / restartuje!
To jest w porządku dla mnie, kiedy poweroff
i reboot
nie wymaga uprawnień administratora ... ale dlaczego suspend
uprawnień roota potrzeba? Kiedy piszę suspend
terminal i uderzam Enter, nie zawiesza się, zamiast tego blokuje się ... a kiedy biegnę pm-suspend
, wymaga sudo
.
Odpowiedzi:
Dla mnie oba
poweroff
niereboot
potrzebują hasła do Ubuntu 16.04.Jednak aby tak się stało, musiałem utworzyć konto użytkownika o nazwie na przykład „foo”, a następnie ssh do localhost jako ten użytkownik lub ja. Kiedy to robię, muszę się uwierzytelnić. Wygląda na to, że rozpoznaje innego użytkownika zalogowanego.
Na przykład otrzymuję tę wiadomość:
Przypuszczalnie jest wystarczająco „sprytny”, aby zdać sobie sprawę, gdy w rzeczywistości zalogowany jest inny użytkownik.
(Zgadzam się z Tobą, że byłoby miło zawsze uwierzytelniać się jako root. Czasami żaden inny użytkownik nie jest zalogowany, ale w tle wykonuje się ważny proces wykonujący jakieś obliczenia).
Edycja: Właśnie spróbowałem. Jeśli jestem zalogowany jako foo, muszę się uwierzytelnić (należący do grupy sudo). Jeśli zrestartuję się, gdy foo nadal jest zalogowany, muszę pisać
systemctl reboot -i
bez hasła. Zakładam, że różnica polega na tym, że system wie, że jestem w grupie sudo.Edycja 2: Jak zauważył Severus Tux,
systemctl suspend -i
zachował się podobnie jaksystemctl reboot -i
w poprzedniej edycji.źródło