Mam urządzenie typu raspi w centrum danych, a ostatnio przypadkowo tłukłem palcami i wkleiłem polecenie wyłączania do niewłaściwego terminala na moim ekranie. Czy istnieje sposób na zachowanie, shutdown -r
ale usunięcie #poweroff
#shutdown -P -H
opcji?
Chcę zachować shutdown -r
dowodzenie. Lubię ustawić czas, jeśli uda mi się zamrozić system lub zablokować się regułami tabeli ip. przykładshutdown -r +10
źródło
systemctl
bez argumentów. Wyświetla listę wszystkich aktywnych jednostek, ich status i opisy. Dodaj,--all
a także wyświetli listę jednostek, które nie są aktywne.man systemd.special
.Istnieje kilka sposobów na osiągnięcie tego. Ktoś mógłby pracować ze zwykłym nieuprzywilejowanym kontem, które będzie wymagało uruchomienia komendy sudo i wprowadzenia hasła. Następnie możesz dołączyć obserwację do / etc / sudoers (uruchamiając visudo):
Ponadto, aby wyłączyć buforowanie poświadczeń sudo, dodaj również następujące elementy:
Zapobiegnie to buforowaniu poświadczeń, ponieważ wcześniej wywołałeś polecenie w sudo.
Przykład:
Zauważ, że w powyższym przykładzie nie było wymagane wpisywanie hasła podczas pracy
sudo shutdown -r +10
, ale przez resztę tak było. Jeśli chcesz usunąć potrzebę wpisywania sudo przed poleceniem (sudo shutdown -r +10
), dodaj do pliku .bash_profile lub .bashrc:Przykład:
Pamiętaj, że najlepszą praktyką jest praca z kontem nieuprzywilejowanym i eskalacja z sudo, gdy jest to wymagane.
źródło
sudo
, że domyślna konfiguracja będzie miała pamięć podręczną przez pewien czas po pierwszym wywołaniu. Może to być wygodne, gdy wielokrotne wykonywanie poleceńroot
jest wymagane w sesji użytkownika. W takiej sesji (a nawet jeśli działaroot
powłoka) byłoby całkowicie możliwe wykonanie poleceniashutdown
i ominięcie kontroli.shutdown -r
aby nie pytać o hasło podczas działania z sudo, dlatego jeśli uruchomi,sudo shutdown -r ...
poświadczenia nie zostaną zapisane w pamięci podręcznej, ponieważ nie zostaną wprowadzone. Spójrz na przykład, który podałem powyżej. Widać, że uruchomiłem go, a następnie asudo shutdown -H
i zostałem poproszony o hasło.sudo
i nie byłoNOPASSWD
operacją; np. wywołanie edycji pliku konfiguracyjnego jako root. W tym przypadku hasło zostanie zapisane w pamięci podręcznej i nastąpi kolejne wywołaniesudo shutdown -H
.sudo
Buforowanie haseł musiałoby zostać wyłączone, aby tego uniknąć.sudo
, że po prostu wpisujemy hasło i idziemy dalej. Zobacz tutaj alternatywne podejście z użyciem sudo (prawdopodobnie jest znacznie lepsze, mimo że nie jest zbyt dobre).Istnieje narzędzie o nazwie Molly-Guard, które wymaga podania nazwy hosta komputera, który chcesz zamknąć lub uruchomić ponownie.
Jeśli nie używasz Debiana, skompilowanie tego ze źródła powinno być banalne, biorąc pod uwagę, że program jest raczej prymitywny.
źródło
Aby zapobiec dystrybucje oparte wpadek RHEL już utworzone aliasy
rm
,cp
amv
co może być nieco bardziej destrukcyjny, gdy wykonywana przez użytkownika root.Możesz dodać własne, na przykład:
źródło
shutdown -r
podczas wyłączaniashutdown -P -H
?Zmień nazwę pliku wykonywalnego zamykania na coś niemożliwego do wywołania przypadkowo.
Następnie alias
shutdown
być(whatever) -r
źródło
shutdown
do/sbin/shutdown -r
. Zmiana nazwy nie jest konieczna; ponieważ rozwinięcie aliasu odnosi się do ścieżki bezwzględnej, nie podlega rekursywnemu rozszerzeniu aliasu.