Dzisiaj przez pomyłkę zamknąłem maszynę produkcyjną, ponieważ myślałem, że jestem na mojej lokalnej maszynie. Wiem, błąd początkującego :-(
Jako rozwiązanie, które nie miało się powtórzyć, myślałem o usunięciu uprawnienia do wykonania polecenia zamknięcia, ponieważ ta maszyna powinna być zawsze włączona.
Czy to dobry pomysł? Czy robiąc to, widzisz niepożądany efekt uboczny?
Pozdrawiam, Dan
Odpowiedzi:
Zupełnie innym podejściem do ostrzeżenia, że pracujesz na maszynie produkcyjnej, jest oznaczenie terminala. Na przykład
user@machine:~#
tekst może być czerwony na maszynach produkcyjnych, zielony na etapie rozwoju itp. Oto fajny samouczek, jak to zrobić: Podpowiedź Color Bashźródło
Najlepsza rada, jaką mogę ci dać, to nie logować się jako root, chyba że potrzebujesz dostępu do roota i upewnij się, że masz inne hasło root / sudo na każdym komputerze.
Niedostępność wyłączenia jest jedną z opcji, ale nie jest dobra. Albo alias
shutdown
doshutdown -a
itouch /etc/shutdown.allow
lubchmod a-x /sbin/shutdown
Gdzie to się kończy? Czy zamierzasz także zabronić zatrzymywania, restartowania i inicjowania?
źródło
-a
. Dodatkowo poleganie na takim aliasie jest tym samym, co poleganie na nimalias rm='rm -i'
- pewnego dnia nie będzie go tam, kiedy naprawdę go potrzebujesz. Poza tym i takshutdown -a
ma tylko ograniczoną użyteczność.Kilka punktów do rozważenia:
źródło
Nie sądzę, że bałagan z włączonymi uprawnieniami
shutdown
jest sposobem na poradzenie sobie z sytuacją. Zasadniczo właśnie nauczyłeś się lekcji. Podbródek.Robiłem te same rzeczy - robiłem długie łańcuchy sesji ssh, a potem bawiłem się trasami na jednej z maszyn, przez które byłem ssh, odcinając się. Spartaczyłem żądanie rsync, co doprowadziło do systematycznego niszczenia systemu po drugiej stronie świata. Uruchomiłem
rm -rf / path
na serwerze produkcyjnym. (Tym razem dowiedziałem się, jak działały przywracania.)Tak więc, dużo starszy i mam nadzieję, że trochę mądrzejszy, teraz mam surowe zasady, które sobie narzucam.
Charakter mojej pracy wymaga ode mnie spędzania dużo czasu na wielu różnych podpowiedziach dotyczących rootowania, ale dzięki moim błędom z przeszłości utrzymuję znacznie lepszą świadomość sytuacyjną niż na początku.
źródło
Jeśli używasz Ubuntu, wypróbuj Molly-guard. Jak omówiono w tym podobnym pytaniu .
źródło
Zależy, naprawdę. Możesz spróbować po prostu zawinąć polecenie, ale oznacza to, że jeśli wykonasz aktualizacje lub uaktualnienia, które wpływają na ten plik wykonywalny, możesz o nim zapomnieć i popsuć aktualizację. Gra za pomocą komend zamykania systemu może być PITA, szczególnie jeśli masz nowych pracowników lub zastępcę, który nie wie, że grasz z binariami systemowymi.
Osobiście chciałbym spojrzeć na zawijanie polecenia w skrypcie, który identyfikuje system według nazwy i sprawia, że naprawdę chcesz to zrobić przed uruchomieniem rzeczywistego pliku binarnego lub że musisz wpisać określoną sekwencję liter, aby potwierdzić zamknięcie zanim uruchomi binarny. To powinno dać chwilę przerwy.
źródło
Możesz rozważyć ustawienie wiersza polecenia tak, aby zawierał nazwę komputera, przynajmniej na serwerach. Pomoże to w przyszłości zapobiec uruchamianiu innych poleceń na niewłaściwym komputerze. Bardziej efektywne jest, jeśli nazwy komputerów są pokolorowane, aby się wyróżniały, a nawet można kodować kolory w celu zidentyfikowania ról serwera.
źródło
Jednym ze sposobów jest nieużywanie
su
i / lub logowanie się bezpośrednio doroot
. Lepiej zalogować się bezpośrednio na konto ORAZ mieć inne hasło doroot
komputera lokalnego i klucza SSH.Oczywiście jest to dodatek do oglądania czerwonego znaku zachęty „#”.
źródło
Tak, usunięcie bitu wykonania z polecenia shutdown jest najprostszym i najbezpieczniejszym sposobem zapobiegania przypadkowym wyłączeniom, szczególnie jeśli masz na komputerze środowisko takie jak KDE i chcesz zapobiec przypadkowym wyłączeniom podczas wylogowywania.
Jeśli chodzi o zamieszanie nowych osób, myślę, że pierwszą rzeczą, jaką zrobią, będzie
ls -l /sbin/shutdown
ustalenie, dlaczego to nie działa (zwłaszcza jeśli mają dobry nawyk uzupełniania nazw plików wykonywalnych). Oczywiście powinieneś powiedzieć im o wszelkich dokonanych zmianach.Dla dodatkowego bezpieczeństwa możesz dodać wiersz, aby
/etc/rc.local
usunąć bit wykonawczy z polecenia shutdown, więc nie zapomnij zresetować go po ponownym uruchomieniu.źródło
możesz po prostu usunąć / sbin / ze ścieżki roota. w ten sposób musisz wpisać pełną ścieżkę, aby ją wykonać, i zwykle naprawia wypadki.
źródło