Jak uzmysłowić sobie, że jesteś w systemie produkcyjnym?

135

Kilku z nas w mojej firmie ma dostęp do roota na serwerach produkcyjnych. Szukamy dobrego sposobu, aby wyjaśnić to wyjątkowo jasno, kiedy ssh'd w.

Kilka pomysłów, które mieliśmy:

  • Jasny czerwony monit
  • Odpowiedz na zagadkę przed zdobyciem muszli
  • Wpisz losowe słowo przed uzyskaniem powłoki

Jakich technik używasz do różnicowania systemów produkcyjnych?

Sionide21
źródło
11
Czy jest jakiś sposób, aby nauczyć ludzi, aby unikali przesyłania danych do systemów produkcyjnych? Jeśli na przykład masz wszystko zarejestrowane w Puppet, musisz tylko zalogować się do systemów produkcyjnych w celu rozwiązania problemów.
Alex Holst
37
Zezwalasz na dostęp root-a do ssh w swoich systemach produkcyjnych ???? !!!!!
symcbean
7
@symcbean: nie tak powiedział Sionide. Mógł mieć na myśli po tym, jak SSH na twoje konto użytkownika.
Zan Lynx,
3
Czy to pytanie staje się kandydatem na wiki społeczności?
MadHatter,
15
Możesz wyjaśnić, że jest to system produkcyjny, wyłączając SSH. To nie może być bardziej jasne.
Franci Penov

Odpowiedzi:

137

Czerwony monit to dobry pomysł, z którego również korzystam.

Inną sztuczką jest umieszczenie dużego ostrzeżenia o kodzie ASCII w /etc/motdpliku.
Posiadanie czegoś takiego wita Cię podczas logowania, należy zwrócić uwagę:

 _______ _ _ _____ _____ _____ _____            
| __ __ | | | | _ _ | / ____ | | _ _ | / ____ | / \    
   | | | | __ | | | | | (___ | | | (___ / \   
   | | | __ | | | \ ___ \ | | \ ___ \ / / \ \  
   | | | | | | _ | | _ ____) | _ | | _ ____) | / ____ \
   | _ | | _ | | _ | _____ | _____ / | _____ | _____ / / _ / \ _ \


 _____ _____ ____ _____ _ _ _____ _______ _____ ____ _ _ 
| __ \ | __ \ / __ \ | __ \ | | | | / ____ | __ __ | _ _ / __ \ | \ | |
| | __) | | __) | | | | | | | | | | | | | | || | | | \ | |
| ___ / | _ / | | | | | | | | | | | | | | || | | | . `|
| | | | \ \ | | __ | | | __ | | | __ | | | ____ | | _ | || | __ | | | \ |
| _ | | _ | \ _ \\ ____ / | _____ / \ ____ / \ _____ | | _ | | _____ \ ____ / | _ | \ _ |


 __ __ _____ _ _ _____ _ _ ______ 
| \ / | / \ / ____ | | | | _ _ | \ | | ____ |
| \ / | / \ | | | | __ | | | | | \ | | | __   
| | \ / | | / / \ \ | | | __ | | | | . `| __ |  
| | | | / ____ \ | ____ | | | | _ | | _ | | \ | | ____
| _ | | _ / _ / \ _ \ _____ | _ | | _ | _____ | _ | \ _ | ______ |

Możesz wygenerować takie ostrzeżenie na tej stronie lub użyć figlet polecenia.

figlet

Jak sugerował Nicholas Smith w komentarzach, możesz urozmaicić niektóre smoki lub inne zwierzęta za pomocą cowsaypolecenia.

smok cowsay

Zamiast używać pliku / etc / motd, możesz również wywołać cowsaylub figletw .profilepliku.

Kenny Rasschaert
źródło
3
Och, podoba mi się to!
Sionide21,
13
Jeśli wpiszesz jakieś polecenie, już go nie zobaczysz.
Nils,
3
To prawda, że ​​przydaje się czerwona podpowiedź.
Kenny Rasschaert
41
Na serwerach Windows używam jasnoróżowego koloru pulpitu i jasnożółtych pasków tytułowych / schematu kolorów, aby było to naprawdę, bardzo oczywiste. To jest nasza wersja kolorowego wiersza poleceń
Mark Henderson
8
Chciałbym dodać smoki ASCII do miksu.
Nicholas Smith
80

Niezupełnie to samo, ale ta strona internetowa zaleca, aby Twoi programiści nosili różowe sombrero podczas wprowadzania zmian w systemach produkcyjnych. Prawdopodobnie możesz mieć podobną zasadę dla sshing w nich.

programista ubrany w różowe sombrero

Aric TenEyck
źródło
1
Ha ha! +1, ponieważ LOL'd. Ale poważnie, ludzie mogą szukać brakujących okularów podczas ich noszenia, wątpię, aby kapelusz służył jako „ciągłe przypomnienie”. Ponadto nic nie pomaga zapamiętać, które okno jest które.
Felix Dombek
7
Tak, musisz zmienić swój proces na: 1) Zadeklaruj chęć edycji produkcji. 2) Wyjdź z sombrero i zamknij wszystkie pozostałe okna. 3) Rób rzeczy produkcyjne, gdy wszyscy patrzą. 4) Wyloguj się z sesji i usuń sombrero.
Aric TenEyck,
1
„2) Wyjdź z sombrero i zamknij wszystkie inne okna” To tak naprawdę nie zadziała w mojej firmie, ponieważ jest to krok 2 wszystkich naszych SOP. Krok 1 to oczywiście „włączenie świateł”, ponieważ przy zamkniętych oknach w tym biurze może być dość ciemno.
Parthian Shot
50

Największym, którego użyłem, jest dyskretny schemat nazewnictwa, w którym systemy prod są nazywane w oczywisty sposób inne niż instancje test / dev. To sprawia, że ​​styl „Nazwa użytkownika @ Nazwa hosta:” jest wyraźnie inny. I oczywiście mam na myśli nie tylko różne słowa, ale także różne formaty:

przykład: PRD-WEB001 vs DEVEL-BOB-WEB001

Ma to kilka rzeczy:

  • Dodatkowy blok z hipenizacją sprawia, że ​​jest to zestaw trzech zamiast zestawu dwóch.
  • Pierwszy z zestawu ma inną długość.
  • Całkowita długość nazw jest wyraźnie różna, co powoduje, że odstępy między wierszami poleceń różnią się względem siebie i innych tekstów w oknie.

A co najważniejsze, nie wymaga specjalnych konfiguracji terminali do produkcji, aby uniknąć błędów Oops.

Z mojego doświadczenia wynika, że ​​chcesz czegoś, co będzie stałym przypomnieniem, gdzie jesteś. Metody logowania, takie jak zagadki, są dobre przez około 10 sekund, dopóki nie zapomnisz, które okno jest które. Wystarczy zrobić lsw niewłaściwym katalogu, aby przewinąć złowrogi baner logowania, zakopać okno terminala pod oknem przeglądarki podczas przeglądania go, zrzucić klawisz Alt z powrotem do niewłaściwego okna i wywołać chaos. Najlepiej mieć stałą wizualną wskazówkę, jak znacznie inny wiersz poleceń.

sysadmin1138
źródło
Działa to naprawdę dobrze w przypadku podstawowych systemów, ale gdy tylko zmienisz dev- *, aby produkować *, devs jęczy i jęczy, gdy połowa ich linków przestaje działać (bez względu na to, ile razy robiłeś to wcześniej), a czasem sam system kuleje w połowie pracy, dopóki nie naprawisz wszystkich licznych odniesień do starej nazwy w plikach konfiguracyjnych. Zwłaszcza z zainstalowanym oprogramowaniem zastrzeżonym, a aliasy DNS tylko tak bardzo pomagają. Co gorsza, łatwo zapomnieć o monicie podczas przełączania okien.
SilverbackNet,
Deweloperzy muszą stworzyć ustawienia, które będą działały w różnych programach / testach / inscenizacji / produkcji (to właśnie robię, ale to już inna historia). Aby uzyskać działający „czerwony monit” o bash (trudniejszy niż się wydaje), zobacz moją odpowiedź na serverfault.com/a/479718/79266
RichVel
39

Należy pamiętać, że musi to być stałe przypomnienie, a nie tylko wskaźnik podczas logowania. Bardzo często ktoś będzie miał kilka pocisków działających jednocześnie na różnych kartach i będzie się między nimi przemieszczał. Niektórzy będą twórcami, niektórzy produkcją. Kiedy więc uruchamiasz polecenie, w tym momencie musisz mieć wskaźnik. Posługiwanie się specjalnym monitem to według mnie najlepsza metoda, ze zmodyfikowanym paskiem tytuł / karta, który stanowi miłe uzupełnienie tego, aby łatwo znaleźć odpowiednie okno / kartę.

Dlatego zalecałbym kolorową podpowiedź (czerwony to oczywisty wybór) i wszystkie wielkie litery dla nazwy hosta, z podobnym zachowaniem dla użytkownika (uprzywilejowanego lub nieuprzywilejowanego) jak twój monit. Kilka przykładów:

przykład kolorowych podpowiedzi

Zwykle coś takiego

set prompt =  "%{\033[1;44m%}`whoami`@`hostname -s`#%{\033[0m%} "` 

w pliku startowym powłoki. Ten jest na niebiesko. Wymienić 44z 41jodły na czerwono i 42na zielono. Dostępne są również inne kolory i dzikie wzory .

Tim
źródło
Aby uzyskać działający „czerwony monit” o bash (trudniejszy niż się wydaje), zobacz moją odpowiedź na serverfault.com/a/479718/79266 - pokazuje także gałąź git, skrócony bieżący katalog itp.
RichVel
14

Oto moje sugestie:

1) Upewnij się, że większość poleceń (rm, chown, chmod, /etc/init.d/*) w środowisku produkcyjnym wymaga dostępu sudo

2) Użyj PS1 / PS2, aby wskazać, że użytkownik jest na serwerze Prod

bash-3.2$  export PS1="[\u@\h \W]\$ "

Spowoduje to wyświetlenie wiersza polecenia jako

[sridhar@prodappserver901 conf]$

3) Jeśli używasz klientów Putty / SSH, zawsze możesz ustawić unikalny kolor / profil tła, aby wyróżnić serwery produkcyjne.

Sridhar Jayakumar
źródło
# 1 to ciekawy pomysł, ale niepraktyczne, ponieważ skrypty działające jako użytkownicy demon może trzeba użyć RM, chmod, itp
Zan Lynx
13

Po prostu weź pod uwagę, że twoje drugie i trzecie pomysły pomagają podczas pierwszego połączenia, ale nie mają żadnej wartości, gdy masz wiele otwartych terminali i przechodzisz od jednego do drugiego. Pomysł sysadmin1138 dotyczący używania nazewnictwa jest dobry, gdy można go zastosować, ale istnieje wiele przypadków, w których nie może być.

Jedyne, co uważam za naprawdę warte zachodu, to kolorowe podpowiedzi. Lubię zielony dla programistów / testujących, czerwony dla produkcji i niebieski dla maszyn w DMZ. W ten sposób, nawet jeśli mam dwa komputery o tej samej nazwie (w różnych sieciach), na przykład przygotowując maszynę zastępczą, nadal mogę łatwo stwierdzić, na której jestem.

John Gardeniers
źródło
11

Czerwony / specjalny wiersz polecenia jest dobry. Inną rzeczą może być szybsze automatyczne wylogowanie na tych komputerach przy użyciu zmiennej TMOUT. Jeśli otworzysz wiele okien, te produkcyjne znikną szybciej.

Powinno to prowadzić do innego zachowania:

  1. Rozwijać się
  2. Test
  3. Wprowadź zmiany na serwerze pomostowym
  4. Tylko wtedy zrób szybki skok do produkcji i wdróż tam (dokładnie tak, jak zrobiłeś to na serwerze pomostowym)
Nils
źródło
9

Praca na maszynie produkcyjnej ze zwykłym kontem root nigdy nie jest dobrym pomysłem.

Posiadaj konto z pełnymi uprawnieniami sudo. Nie pozwala na zapisywanie sesji sudo. Zabroń sudo su. Użyj do tego osobnego hasła (nie takiego, które masz dla swojej maszyny deweloperskiej). Prawdopodobnie poprawiono sudo, aby powiadomić o tożsamości produkcyjnej powłoki przed wykonaniem polecenia (przez alias).

Przypadkowe błędy będą bardzo trudne. A czerwona zachęta nigdy nie boli.

Mihails Strasuns
źródło
a przez „sudo su” masz na myśli „sudo -i” lub przynajmniej „sudo su -”, prawda?
Sparr,
Zaraz! to Sparr! Mały świat :)
Sionide21,
1
Niemożliwe jest powstrzymanie ludzi przed posiadaniem powłoki roota. ( sudo bash). Możesz uzyskać powłokę główną z dowolnej konfiguracji „czarnej listy”. (Jeśli jesteś ostrożny, możesz to zatrzymać za pomocą konfiguracji białej listy, ale zwykle nie jest to gwarantowane.)
user606723
1
Nie ma to uniemożliwiać zamierzonego dostępu do powłoki roota - tylko niektóre typowe sposoby, do których ludzie są przyzwyczajeni, aby mogli to robić podświadomie, bez zwracania uwagi.
Mihails Strasuns,
8

Poszedłem z czerwonym pomysłem i znalazłem dość nużące znaleźć działający kod .bashrc.

Oto moja wersja, gotowa do włączenia .bashrc- https://github.com/RichVel/nicer-bash-prompt . To całkowicie napędzany przez hosta, tak długo, jak masz odpowiedni wzór do hostów produkcyjnych (powiedzmy xyprod01, xyprod02itp) to będzie działać dobrze, i można go używać tak samo .bashrcwe wszystkich środowiskach.

To wygląda tak:

zrzut ekranu czerwonego monitu

To tworzy ładniejszy monit bash, w tym czerwony monit na hostach produkcyjnych - pokazuje również bieżącą gałąź git i ostatnie 2 katalogi w $ PWD. Uważa, aby uniknąć zepsucia ekranu zachęty podczas wykonywania Ctrl / R (wyszukiwanie do tyłu) w trybie bash.

Zawiera także opcjonalną funkcję synchronizacji historii bash we wszystkich oknach terminala, zgodnie z tą odpowiedzią . Jest to miłe, ale nie wszyscy tego chcą, więc jest domyślnie wyłączone.

RichVel
źródło
5

Chociaż nie wiem, jak wygląda twoja konfiguracja IT, jednym z rozwiązań, które może być skuteczne, byłoby posiadanie specjalnego pomieszczenia, do którego musisz udać się do SSH na serwery produkcyjne jako root. Jeśli masz centrum danych, może to być sama serwerownia, ale oddzielne fizyczne położenie, z którego nie wykonuje się „normalnej” pracy, całkiem skutecznie służyłoby jako ciągłe przypomnienie, że masz dostęp do maszyn produkcyjnych.

Kyle Cronin
źródło
2
Chociaż z pewnością byłby to skuteczny, w większości sytuacji byłby również niezwykle przeciwny do zamierzonego.
John Gardeniers,
Zgadzam się z Johnem, ale z pewnością jest to coś do przemyślenia.
user606723,
@JohnGardeniers: kontrproduktywny? Masz na myśli, że zaszkodzi to produktywności?
LarsH,
@LarsH, niepotrzebne przechodzenie do różnych pomieszczeń w celu wykonywania różnych części pracy z pewnością obniża produktywność. Cała sieć powinna być zarządzalna z jednego miejsca.
John Gardeniers,
@JohnGardeniers: zrozumiany. Kiedy początkowo mówiłeś, że „przynosi efekt przeciwny do zamierzonego”, myślałem, że masz na myśli, że jego działanie było sprzeczne z podanym celem, tj. Służyło jako ciągłe przypomnienie, że masz dostęp do maszyn produkcyjnych.
LarsH,
4

Drobna modyfikacja powyższych sugestii. Korzystam z CDE jako pulpitu unix i wszystkich systemów produkcyjnych, do których mam dostęp poprzez menu w .dt / dtwmrc. We wszystkich systemach deweloperskich i UAT zachowuję normalną kolorystykę, ale w systemach Prod ustawiam terminal na czerwone tło. Nie podoba mi się ten wygląd, ale o to chodzi.

eta - brakowało sugestii Karola w zasadzie tej samej rzeczy

Wudang
źródło
4

Kiedy loguję się do maszyny produkcyjnej, pojawia się akapit ostrzegający mnie, że jest to maszyna produkcyjna, a także krótka lista wskazówek. Jest numer, do którego mogę zadzwonić po wsparcie UNIX, jeśli nie sądzę, że mogę bezpiecznie wykonać swoje zadanie samodzielnie, przypomnienie, że wysadzenie maszyny produkcyjnej może mnie kosztować moją pracę, a także przypomnienie, że wszystko, co robię, jest rejestrowane.

edycja: Pracuję w branży transportowej.

Bazylia
źródło
Ojej. Chociaż rozumiem potrzebę tego, cieszę się, że nie pracuję w tego rodzaju środowisku.
LarsH,
1
Cieszę się, że tak - pracuję w transporcie, a te systemy nie tylko kosztują pieniądze, kiedy się psują, ale kosztują życie.
Basil
Cieszę się, że jesteś taki ostrożny!
LarsH,
3

W PuTTY możesz zmienić tytuł okna na inny niż domyślny dla określonej zapisanej sesji. To zawsze pozostaje w oknie, bez względu na to, co robisz w oknie. To również pojawia się na pasku zadań.

Rozwiń okno, kliknij Zachowanie. Wpisz coś w tytule okna, np .:

  * * * * * * * * * * * * PRODUCTION  * * * * * * * * * * * * PRODUCTION  * * * * * * * * * * * *
sjbotha
źródło
3

Prosta odpowiedź? Zmień kolor swojej powłoki na czerwony w konfiguracji powłoki. Będzie to oczywiste i proste w konfiguracji. Nie tylko to, ale w przeciwieństwie do nagłówków serwera, nie zniknie po wpisaniu kilku poleceń.

donatJ
źródło
3

Oto, co zrobiłem na komputerze Mac. Do każdego serwera dodaję wpis w moim pliku ~ / .ssh / config, np

Host app13
    HostName server.example.com
    User tom
    PermitLocalCommand yes
    LocalCommand osascript %d/bin/change_terminal_colours.scpt 12 35 35

Ten skrypt Apple jest uruchamiany po ustanowieniu sesji SSH. Ustawia kolor tła terminala na podane wartości RGB (lub wraca do wartości domyślnej, jeśli nie podano wartości kolorów). Potencjalnie trudną częścią jest przechwycenie końca sesji SSH, aby przywrócić kolory domyślne. W tym celu utworzyłem następujący skrypt powłoki jako ~ / bin / ssh as, aby zastąpić domyślne polecenie ssh. Zasadniczo przechwytuje i zawija wszelkie wywołania polecenia SSH. Próbowałem użyć aliasingu i funkcji, ale to rozwiązanie działało najlepiej:

#!/bin/bash
/usr/bin/ssh $@
osascript ~/bin/change_terminal_colours.scpt

Oto źródło skryptu change_terminal_colours.scpt . Umieść to również w katalogu ~ / bin:

on run argv
    tell application "Terminal"
        # NOTE: Color values range from 0 to 65535.
        if (count of argv) > 0 then
            set backgroundColor to {(item 1 of argv) * 256, (item 2 of argv) * 256, (item 3 of argv) * 256}
        else
            set backgroundColor to background color of default settings
        end if

        try
            set background color of (selected tab of front window) to backgroundColor
        end try
    end tell
end run

Napisałem to rozwiązanie tydzień temu i od tego czasu go używam. Mam nadzieję, że inni uznają to za wartościowe. Uważam, że działa lepiej niż którekolwiek z rozwiązań, które znalazłem w Googling.

TomWardrop
źródło
3

Moja grupa używa Visionapp Remote Desktop (edycja 2017: wygląda na to, że nazwa produktu została zmieniona, ale myślę, że to to samo) zarówno na RDP na maszyny z Windows, jak i SSH na Linux. Nasze połączenia są pogrupowane w foldery według poziomów i przypisane do koloru karty.

Więc ilekroć otwieramy połączenie produkcyjne - bam! - na twarzy pojawia się jasnoczerwony kolor:

wprowadź opis zdjęcia tutaj

Jest to zdecydowanie opłacalna inwestycja, jeśli jesteś dużym sklepem z systemem Windows i polegasz na RDP. Założę się, że istnieją inne świetne narzędzia, jeśli wszystko, czego potrzebujesz, to SSH.

Nick Chammas
źródło
2

Oprócz unikalnego monitu (który wydaje się być najbardziej niezawodnym rozwiązaniem), jeśli logujesz się z tej samej stacji roboczej, możesz używać różnych profili dla sesji SSH.

Na przykład mam czerwone tło dla systemów produkcyjnych, zielone dla rozwoju, niebieskie dla infrastruktury (routerów itp.) I białe dla lokalnej stacji roboczej.

Jeśli używasz GNOME, istnieje prosty sposób na uruchomienie połączenia SSH z wybranym profilem:

gnome-terminal --window-with-profile=production -e 'ssh [email protected]'

Główna wada - po stronie klienta, więc specjalny monit jest nadal najlepszym rozwiązaniem, jeśli uzyskujesz dostęp do serwerów z różnych lokalizacji.

Karol J. Piczak
źródło
2

Innym sposobem, aby wyjaśnić, że korzystasz z systemu produkcyjnego, jest ustawienie funkcji TMOUT (autologout) w systemie produkcyjnym.

Peter K.
źródło
1
Jak to wyjaśnia? Jest to również potencjalnie bardzo niebezpieczne, ponieważ polecenia lub procesy mogą być uruchomione i nagle zostaną przerwane przez wylogowanie sesji.
John Gardeniers
3
Właśnie przetestowałem TMOUT i wygląda na to, że jeśli uruchomione jest długo działające polecenie, to nie kończy sesji. Kończy to tylko, gdy siedzisz w wierszu polecenia. Nils również to zasugerował i ma to dla mnie sens.
sjbotha,
1
To naprawdę miła rzecz w TMOUT. Użyliśmy autologa, a nawet zabójcy, zanim odkryliśmy TMOUT. autolog i killerd NIE są tak miłe. killerd jest również błędny i ma tendencję do blokowania jednego pełnego procesora ...
Nils,
2

Ze względu na ogromne wymagania regulacyjne podczas pracy w konkretnej branży, tutaj wszystkie działania są kluczowe dla wszelkich przyszłych sporów. Z tego powodu dostęp jest również ograniczony i musisz przejść przez kilka „menu”, które umożliwiają dostęp do komputera jako jednego z niewielu zaufanych użytkowników. Konfigurując ten system, osoba musi świadomie wybrać środowisko PRODUKCJI lub QA, a następnie wybrać z listy host, do którego chce uzyskać dostęp. Ma to również limit czasu, więc nie możesz zalogować się na hoście produkcyjnym i zapomnieć, w jakim środowisku będziesz następnego dnia.

Alexandra
źródło
2

Korzystam z szybkich zmian, jak inni tutaj. Jest szybki i nieprzyjemny, ale działa dobrze dla moich celów. Otrzymasz kolor czerwony jako normalny użytkownik w systemie produkcyjnym, a czerwony duży znak jako root w systemie produkcyjnym.

Można to napisać w mniejszej liczbie wierszy, ale robię to w ten sposób, więc mogę poprawić pozostałe 2 przypadki (inne niż root-non prod), jeśli chcę.

Pracujemy przy założeniu, że serwer produkcyjny nie korzysta z DHCP, ale możesz użyć dowolnej innej metody sprawdzania, czy jest to system prod. Cokolwiek Ci odpowiada.

productionSrv=1
grep -qi bootproto=dhcp /etc/sysconfig/network-scripts/ifcfg-*
if [ "$?" -eq 0 ]; then
    productionSrv=0
fi
hostName=`hostname`
userName=`whoami`
if [ $userName == "root" ]
then
    if [ "$productionSrv" == 1 ]
    then
        hostName=`echo $hostName | tr [:lower:] [:upper:]`
        PS1='[\e[0;31m]\u[\e[0m]@[\e[0;31m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;31m]\$[\e[0m]: '
    else
        PS1='[\e[0;31m]\u[\e[0m]@[\e[0;35m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;31m]\$[\e[0m]: '
    fi
    PATH=$PATH:/sbin/
else
    if [ "$productionSrv" == 1 ]
    then
        PS1='[\e[0;32m]\u[\e[0m]@[\e[0;31m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;32m]\$[\e[0m]: '
    else
        PS1='[\e[0;32m]\u[\e[0m]@[\e[0;35m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;32m]\$[\e[0m]: '
    fi
fi

Sirex
źródło
Chociaż skrypt jest interesujący, założenie statycznych adresów IP tylko w systemach produkcyjnych nie jest powszechne. W większości przypadków wszystkie serwery będą miały statyczne adresy IP, zarówno programistyczne, jak i produkcyjne.
Martijn Heemels,
1
konie na kursy naprawdę. nasze systemy deweloperskie używają rezerwacji dhcp. Możesz użyć dowolnego systemu, który działa dla Ciebie, na przykład porównać nazwę hosta, podsieć, sieć vlan, cokolwiek.
Sirex
@Sirex, Możliwe jest również przeciwieństwo. Na przykład, Amazon V2 ECPS używa statycznej dzierżawy DHCP na serwerach produkcyjnych i publiczne adresy IP są przekazywane. Sama instancja nie wie bezpośrednio, za jakim publicznym adresem IP działa, a przynajmniej nie na poziomie interfejsu sieciowego.
Matthew Scharley
1
tak. Zawsze możesz mieć tylko pakiet rpm roli, który tworzy plik / etc / PRODUCTION i testujesz go. Cokolwiek ci pasuje.
Sirex,
1

Mają inne (być może dłuższe) hasło roota na komputerach produkcyjnych.

Możesz utworzyć specjalne sudo (lub opakowanie sudo), tak że na komputerach produkcyjnych pojawi się specjalny komunikat.

mdpc
źródło
.. Inne hasło roota na maszynach prod? dlaczego o tym nie pomyślałem !?
user606723,
Ponadto sudo ma już wiele opcji konfiguracji. Byłbym zaskoczony, jeśli nie możesz tego zrobić. Niestandardowe sudo to okropny pomysł, ponieważ nie zostałby przetestowany, wystarczy uzyskać kawałek suid.
user606723,
1

Tutaj mamy domyślne konfiguracje szpachli, aby kolor pierwszego planu całego ekranu był jasny róż.

  • Prod: jasny róż.
  • Regresja: jasnozielony
  • Model: jasnoniebieski
  • Dev: normal

Działa całkiem dobrze, ale podoba mi się kilka innych pomysłów tutaj.

  • Pro: chyba że coś nie używa koloru pierwszego planu .., KAŻDY ekran prod jest jasnoróżowy.
  • Przeciw: Oczywiście, jeśli ssh przez coś innego niż domyślna konfiguracja kit to nic nie robi.
użytkownik606723
źródło
1

w .bashrc / .bash_profile

echo " THIS IS THE PRODUCTION SYSTEM. BE RESPONSIBLE.. " .. 
Jay D.
źródło