Как Вы делаете это очевидным, что Вы находитесь в производственной системе?

Больше информации - где те папки? C:\? Или в подпапке изолированной подсистемы? У меня был подобный случай однажды на папке FTP (полностью изолированный) где я случайно llowed все для загрузки файлов. Просто закрытый дыра.

Если то есть, хотя, в системе / исполняемая папка (веб-сайт), удаляют сервер, переустанавливают.

136
задан 18 February 2015 в 17:24
24 ответа

Красная подсказка - хорошая идея, и я также используйте.

Еще одна уловка - поместить большое предупреждение в формате ASCII-art в файл / etc / motd .
Такое приветствие при входе в систему должно привлечь ваше внимание:

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


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


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

Вы можете создать такое предупреждение на этом веб-сайте или можете использовать фиглет

figlet

Как Николас Смит предложил в комментариях, вы могли бы оживить обстановку некоторыми драконами или другими животными, используя команду cowsay .

dragon cowsay

Вместо использования файла / etc / motd вы могли бы также вызовите cowsay или figlet в файле .profile .

137
ответ дан 28 November 2019 в 19:19

Здесь у нас есть конфигурации замазки по умолчанию, чтобы сделать цвет переднего плана всего экрана ярко-розовым.

  • Продукт: ярко-розовый.
  • Регрессия: бледно-зеленый
  • Модель: бледно-голубой
  • Dev: normal

Работает неплохо, но мне нравятся некоторые другие идеи здесь.

  • Pro: если только что-то не использует цвет переднего плана .., КАЖДЫЙ экран prod ярко-розовый.
  • Против: Очевидно, если вы используете ssh через что-то другое, кроме значения по умолчанию putty config, однако, ничего не делает.
1
ответ дан 28 November 2019 в 19:19

в .bashrc / .bash_profile

echo " THIS IS THE PRODUCTION SYSTEM. BE RESPONSIBLE.. " .. 
1
ответ дан 28 November 2019 в 19:19

Иметь другой (возможно, более длинный) пароль root на производственных машинах.

Вы можете создать специальный sudo (или оболочку sudo), чтобы на производственные машины выводилось специальное сообщение .

1
ответ дан 28 November 2019 в 19:19

Я использую изменения подсказок, как и другие здесь. Это быстро и неприятно, но отлично подходит для моих целей. Это даст вам красный цвет как обычный пользователь в производственной системе и красный верхний регистр как root в производственной системе.

Это можно было бы записать меньшим количеством строк, но я делаю это так, чтобы я мог настроить другие 2 случая (не root-non prod), если я хочу.

Мы работаем исходя из предположения, что производственный сервер не используйте DHCP, но вы можете использовать любой другой метод для определения, является ли это производственной системой. Все, что вам подходит.

 productionSrv = 1
grep -qi bootproto = dhcp / и т.д. / sysconfig / сетевые сценарии / ifcfg- *
если ["$?" -экв 0]; затем
 productionSrv = 0
фи
hostName = `hostname`
userName = `whoami`
если [$ userName == "root"]
затем
 если ["$ productionSrv" == 1]
 затем
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]: '
 еще
 PS1 = '[\ e [0; 31m] \ u [\ e [0m] @ [\ e [0; 35m] $ hostName [\ e [0m] [$?] [\ E [0; 31m] [\ W] [\ e [0m] [\ e [0; 31m] \ $ [\ e [0m]: '
 фи
 ПУТЬ = $ ПУТЬ: / sbin /
еще
 если ["$ productionSrv" == 1]
 затем
 PS1 = '[\ e [0; 32m] \ u [\ e [0m] @ [\ e [0; 31m] $ hostName [\ e [0m] [$?] [\ E [0; 31m] [\ W] [\ e [0m] [\ e [0; 32m] \ $ [\ e [0m]: '
 еще
 PS1 = '[\ e [0; 32m] \ u [\ e [0m] @ [\ e [0; 35m] $ hostName [\ e [0m] [$?] [\ E [0; 31m] [\ W] [\ e [0m] [\ e [0; 32m] \ $ [\ e [0m]: '
 фи
фи

2
ответ дан 28 November 2019 в 19:19

Другой способ дать понять, что вы работаете в производственной системе, - это установить в производственной системе функцию TMOUT (автоматический выход).

2
ответ дан 28 November 2019 в 19:19

Из-за обширных нормативных требований при работе в определенной отрасли, здесь все действия записываются в журнал для любых будущих споров. . По этой причине доступ также ограничен, и вам нужно перепрыгнуть через несколько «меню», которые позволят вам получить доступ к машине как одному из немногих доверенных пользователей. Устанавливая эту систему, человек должен сознательно выбрать среду ПРОИЗВОДСТВА или контроля качества, а затем выбрать из списка хост, к которому он хочет получить доступ. У этого также есть период тайм-аута, чтобы вы не столкнулись с ситуацией, когда вы зайдете на хост prod и забудете, в какой среде вы находитесь на следующий день.

2
ответ дан 28 November 2019 в 19:19

Simple answer? Change the color of your shell to red in the shell config. It will be dead obvious and simple to set up. Not only that, but unlike server headers it won't go away after you type in a few commands.

3
ответ дан 28 November 2019 в 19:19

Помимо уникального приглашения (которое кажется наиболее надежным решением), если вы входите в систему с одной и той же рабочей станции, вы можете использовать разные профили для своих сеансов SSH.

Например, у меня есть красный фон для производственных систем, зеленый для разработки, синий для инфраструктуры (маршрутизаторы и т. Д.) И белый для локальной рабочей станции.

Если вы используете GNOME, есть простой способ запустить SSH-соединение с желаемым profile:

gnome-terminal --window-with-profile = production -e 'ssh root@production.example.com '

Главный недостаток - это клиентская сторона, поэтому специальное приглашение по-прежнему лучше если вы обращаетесь к серверам из разных мест.

2
ответ дан 28 November 2019 в 19:19

Моя группа использует Visionapp Remote Desktop (редактирование 2017: похоже, что продукт был переименован, но я думаю, что это то же самое) как для RDP на машинах Windows, так и на SSH на машинах Linux . Наши подключения сгруппированы в папки по уровням и имеют цвет вкладок.

Так что всякий раз, когда мы открываем производственное соединение - бац! - мы видим ярко-красный цвет на нашем лице:

enter image description here

Это определенно стоит вложения, если вы большой магазин Windows и много полагаетесь на RDP. Бьюсь об заклад, есть и другие отличные инструменты, если все, что вам нужно, это SSH.

3
ответ дан 28 November 2019 в 19:19

Никогда не стоит работать на производственной машине с простой учетной записью root.

Иметь учетную запись с полными разрешениями sudo. Не позволяет сохранять сеанс sudo. Запретить sudo su. Используйте для него отдельный пароль (не тот, который у вас есть для вашей машины разработчика). Вероятно, настроить sudo, чтобы уведомлять о производственной идентичности оболочки перед выполнением команды (через псевдоним).

Это будет делать случайные ошибки довольно серьезными. А красная подсказка никогда не повредит.

9
ответ дан 28 November 2019 в 19:19

Просто поправьте приведенные выше предложения. Я использую CDE в качестве рабочего стола unix и всех производственных систем, к которым я обращаюсь через меню в .dt / dtwmrc. На всех системах разработки и UAT я сохраняю свою обычную цветовую схему, но в системах prod я установил для терминала красный фон. Мне не нравится внешний вид, но в этом-то и суть.

eta - пропустил предложение Кароля о том же

4
ответ дан 28 November 2019 в 19:19

В PuTTY вы можете изменить заголовок окна на любой, отличный от значения по умолчанию для определенного сохраненного сеанса. Это всегда остается в окне, независимо от того, что вы делаете внутри окна. Это также отображается на панели задач.

Разверните окно, нажмите «Поведение». Введите что-нибудь в заголовке окна, например:

  * * * * * * * * * * * * PRODUCTION  * * * * * * * * * * * * PRODUCTION  * * * * * * * * * * * *
3
ответ дан 28 November 2019 в 19:19

Красная / специальная командная строка - это хорошо. Другой способ - более быстрый автоматический выход из системы на этих машинах с помощью переменной TMOUT. Если вы открыли много окон, рабочие окна закроются быстрее.

Это должно привести к другому поведению:

  1. Разработка
  2. Тест
  3. Внесите изменения в промежуточный сервер
  4. Только затем внесите быстро перейти в производство и развернуть там (точно так же, как вы это делали на промежуточном сервере)
11
ответ дан 28 November 2019 в 19:19

Хотя я не знаю, как выглядит ваша ИТ-система, одним из эффективных решений может быть наличие специальной комнаты, в которую вы должны перейти к SSH на производственные серверы с правами root. Если у вас есть центр обработки данных, это может быть сама серверная комната, но наличие отдельного физического места, из которого не выполняется «нормальная» работа, вполне эффективно служило бы постоянным напоминанием о том, что вы получаете доступ к производственным машинам.

5
ответ дан 28 November 2019 в 19:19

Просто учтите, что ваши вторая и третья идеи помогают при первоначальном подключении, но не имеют никакой ценности, когда у вас открыто несколько терминалов и вы перемещаетесь от одного к другому. Идея sysadmin1138 об использовании именования хороша, когда ее можно применить, но во многих случаях это невозможно.

Единственное, что я нашел действительно стоящим, - это цветное приглашение. Мне нравится зеленый цвет для разработки / тестирования, красный для производства и синий для машин в DMZ. Таким образом, даже если у меня есть две машины с одинаковым именем (в разных сетях), например, при подготовке новой машины, я все равно могу легко определить, на какой из них я работаю.

13
ответ дан 28 November 2019 в 19:19

Вот мои предложения:

1) Убедитесь, что большинству команд (rm, chown, chmod, /etc/init.d/*) в производственной среде требуется доступ sudo

2) Используйте PS1 / PS2, чтобы указать, что пользователь находится на Prod-сервере

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

. Это отобразит командную строку как

[sridhar@prodappserver901 conf]$

3) При использовании клиентов Putty / SSH вы всегда можете настроить уникальный цвет / профиль фона, чтобы сделать Производственные серверы выделяются.

14
ответ дан 28 November 2019 в 19:19

Не совсем то же самое, но этот веб-сайт рекомендует, чтобы ваши разработчики носили розовое сомбреро при внесении изменений в производственные системы. У вас, вероятно, могло бы быть похожее правило для sshing в них.

developer wearing a pink sombrero

80
ответ дан 28 November 2019 в 19:19

Вы должны помнить одну вещь: это должно быть постоянное напоминание, а не просто индикатор при входе в систему. Очень часто у кого-то будет одновременно работать несколько оболочек на разных вкладках и перемещаться между ними. Кто-то будет разработчиком, кто-то продакшен. Поэтому, когда вы запускаете команду, вам нужен индикатор в этот момент. Так что, по моему опыту, наличие специального приглашения - лучший метод, при этом измененная панель заголовка / вкладки является хорошим дополнением к этому для легкого поиска нужного окна / вкладки.

Поэтому я бы рекомендовал иметь цветное приглашение (красный является очевидным выбором) и заглавными буквами для имени хоста, с аналогичным поведением для пользователя (привилегированный или непривилегированный), как ваше приглашение. Некоторые примеры:

colored prompts example

Обычно что-то вроде

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

в файле запуска оболочки. Это для синих. Замените 44 на 41 елово-красный, а 42 - на зеленый. Также доступны другие цвета и дикие узоры .

40
ответ дан 28 November 2019 в 19:19

Самым большим из тех, что я использовал, является дискретная схема именования, в которой названия prod-систем явно отличаются от названий экземпляров test / dev. Это делает " Имя пользователя @ Имя хостаВсе, что нужно, - это выполнить команду ls в неправильном каталоге, чтобы скрыть зловещий баннер входа в систему, скрыть окно терминала под окном браузера во время поиска в Google, перейти на другую вкладку с помощью alt-tab и вернуться в неправильное окно и начинается погром. Лучше всего иметь постоянную визуальную подсказку, например, существенно отличающуюся командную строку.

50
ответ дан 28 November 2019 в 19:19

Когда Я вхожу в производственную машину, получаю абзац, предупреждающий меня, что это производственная машина, а также краткий список рекомендаций. Есть номер, по которому я могу позвонить в службу поддержки UNIX, если не буду Не думаю, что смогу выполнить свою задачу в одиночку, напоминание о том, что взрыв производственной машины может стоить мне работы, и напоминание о том, что все, что я делаю, регистрируется.

edit: Я работаю в транспортной отрасли.

4
ответ дан 28 November 2019 в 19:19

Я выбрал красную подсказку и нашел довольно утомительным поиск рабочего кода для .bashrc .

Итак, вот моя версия, готовая к включению в .bashrc - https://github.com/RichVel/nicer-bash-prompt . Он полностью управляется именем хоста, поэтому, если у вас есть подходящий шаблон для рабочих имен хостов (скажем xyprod01 , xyprod02 и т. Д.), Он будет работать хорошо, и вы можете использовать один и тот же .bashrc во всех средах.

Это выглядит так:

screenshot of red prompt

Это создает более удобное приглашение bash, включая красное приглашение на производственных узлах - также показывает текущую ветку git, и последние 2 каталога в $ PWD. Он позаботится о том, чтобы не испортить отображение подсказок при выполнении Ctrl / R (обратный поиск) в bash.

Также включает дополнительную функцию для синхронизации вашей истории bash во всех окнах терминала в соответствии со строками этого ответа . Это хорошо, но не всем это нужно, поэтому по умолчанию он отключен.

Он позаботится о том, чтобы не испортить отображение подсказок при выполнении Ctrl / R (обратный поиск) в bash.

Также включает дополнительную функцию для синхронизации вашей истории bash во всех окнах терминала в соответствии со строками этого ответа . Это хорошо, но не всем это нужно, поэтому по умолчанию он отключен.

Он позаботится о том, чтобы не испортить отображение подсказки при выполнении Ctrl / R (обратный поиск) в bash.

Также включает дополнительную функцию для синхронизации вашей истории bash во всех окнах терминала в соответствии со строками этого ответа . Это хорошо, но не всем это нужно, поэтому по умолчанию он отключен.

8
ответ дан 28 November 2019 в 19:19

Вот что я сделал на своем Mac. Для каждого сервера я добавляю запись для него в свой файл ~ / .ssh / config, например

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

Этот Applescript запускается после установления сеанса SSH. Он устанавливает цвет фона терминала на предоставленные значения RGB (или обратно на значение по умолчанию, если значения цвета не указаны). Потенциально сложная часть - перехватить конец сеанса SSH, чтобы вернуть цвета к значениям по умолчанию. Для этого я создал следующий сценарий оболочки как ~ / bin / ssh, чтобы переопределить команду ssh по умолчанию. Это по существу перехватывает и обертывает любые вызовы команды SSH. Я пробовал использовать псевдонимы и функции, но это решение сработало лучше всего:

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

Вот источник сценария change_terminal_colours.scpt . Поместите это также в свой каталог ~ / 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

Я написал это решение неделю назад и с тех пор использую его. Я надеюсь, что другие сочтут это ценным. Я считаю, что это работает лучше, чем любое из решений, найденных мной в Google.

3
ответ дан 28 November 2019 в 19:19

Вот мой

Я использовал ascii-image-converter для изображения (перенаправить результат в файл и разместить его в верхней части вашего.bashrc). Также использую это для полного эффекта:

export PS1="\[\e[1;32m\]\u\[\e[3;31m\]@\[\e[3;31m\] PROD \[\e[0;37m\]: \[\e[1;34m\]\w \[\e[0;31m\]$ \[\e[0m\]"
0
ответ дан 17 November 2021 в 16:56

Теги

Похожие вопросы