Algunos de nosotros en mi empresa tenemos acceso root en servidores de producción. Estamos buscando una buena manera de dejarlo muy claro cuando hayamos ingresado.
Algunas ideas que hemos tenido son:
- Indicador rojo brillante
- Responde un acertijo antes de obtener un caparazón
- Escriba una palabra al azar antes de obtener un shell
¿Cuáles son algunas técnicas que ustedes usan para diferenciar los sistemas de producción?
Respuestas:
El indicador rojo es una buena idea, que también uso.
Otro truco es colocar una gran advertencia de arte ASCII en el
/etc/motd
archivo.Tener algo como esto te saluda cuando inicias sesión debería llamar tu atención:
Puede generar una advertencia de este tipo en este sitio web o puede usar el
figlet
comando.Como lo sugirió Nicholas Smith en los comentarios, puedes darle vida a algunos dragones u otros animales usando el
cowsay
comando.En lugar de usar el archivo / etc / motd, también puede llamar
cowsay
ofiglet
en el.profile
archivo.fuente
No es exactamente lo mismo, pero este sitio web recomienda que sus desarrolladores usen un sombrero rosa cuando hagan cambios en los sistemas de producción. Probablemente podría tener una regla similar para meterse en ellos.
fuente
El más grande que he usado es un esquema de nomenclatura discreto donde los sistemas prod se nombran obviamente diferentes a las instancias de prueba / desarrollo. Esto hace que el estilo de "Nombre de usuario @ Nombre de host:" sea visiblemente diferente. Y por obvio quiero decir algo más que palabras diferentes, formatos diferentes también:
ejemplo: PRD-WEB001 vs DEVEL-BOB-WEB001
Esto tiene varias cosas a su favor:
Y lo mejor de todo, no requiere configuraciones especiales de terminal para la producción solo para evitar errores de Oops.
En mi experiencia, quieres algo que sea un recordatorio constante de dónde estás. Los métodos de inicio de sesión como acertijos son válidos durante unos 10 segundos, hasta que olvide qué ventana es cuál. Todo lo que se necesita es hacer un
ls
directorio incorrecto para desplazar el ominoso banner de inicio de sesión fuera de la vista, enterrar la ventana del terminal debajo de una ventana del navegador mientras buscas en Google, volver a presionar la pestaña alternativa a la ventana equivocada y se produce el caos. Es mejor tener alguna señal visual constante como un símbolo del sistema significativamente diferente.fuente
Una cosa que debe tener en cuenta es que esto debe ser un recordatorio persistente, no solo un indicador en el momento del inicio de sesión. Muy a menudo, alguien tendrá varios shells ejecutándose al mismo tiempo en diferentes pestañas y se moverá entre ellos. Algunos serán dev, algunos de producción. Entonces, cuando está ejecutando un comando, debe tener un indicador en ese punto. Por lo tanto, tener un mensaje especial es el mejor método, en mi experiencia, con una barra de título / pestaña modificada que es un buen complemento para encontrar fácilmente la ventana / pestaña correcta.
Por lo tanto, recomendaría tener una solicitud de color (el rojo es la opción obvia) y todas las mayúsculas para el nombre de host, con un comportamiento similar para el usuario (privilegiado frente a no privilegiado) como su solicitud. Algunos ejemplos:
Por lo general algo como
en su archivo de inicio de shell. Este es para el azul. Reemplace
44
con41
abeto rojo y42
verde. Otros colores y patrones salvajes disponibles también .fuente
Estas son mis sugerencias:
1) Asegúrese de que la mayoría de los comandos (rm, chown, chmod, /etc/init.d/*) en el entorno de producción requieren acceso a sudo
2) Use PS1 / PS2 para indicar que el usuario está en un servidor Prod
Esto mostrará el símbolo del sistema como
3) Si usa clientes Putty / SSH, siempre puede configurar un color / perfil de fondo único para que los servidores de producción se destaquen.
fuente
Solo considere que su segunda y tercera ideas ayudan durante la conexión inicial, pero no tienen valor cuando tiene múltiples terminales abiertas y se mueven de una a otra. La idea de sysadmin1138 de usar nombres es buena cuando se puede aplicar, pero hay muchos casos en los que no se puede aplicar.
Lo único que he encontrado que realmente vale la pena es un aviso en color. Me gusta el verde para desarrollo / pruebas, rojo para producción y azul para máquinas en la DMZ. De esa manera, incluso si tengo dos máquinas con el mismo nombre (en redes diferentes), como cuando preparo una máquina de reemplazo, aún puedo decir fácilmente en cuál estoy.
fuente
El símbolo del sistema rojo / especial es bueno. Otra cosa podría ser un cierre de sesión automático más rápido en esas máquinas que usan la variable TMOUT. Si ha abierto muchas ventanas, las de producción desaparecerán más rápido.
Esto debería conducir a un comportamiento diferente:
fuente
Trabajar en una máquina de producción con una cuenta raíz simple nunca es una buena idea.
Tener una cuenta con permisos completos de sudo. No permite guardar la sesión de sudo. Prohibir sudo su. Use una contraseña separada (no la que tiene para su máquina de desarrollo). Probablemente modifique sudo para notificar sobre la identidad de producción del shell antes de ejecutar el comando (a través de un alias).
Cometerá errores accidentales bastante difíciles. Y el indicador rojo nunca está de más.
fuente
sudo bash
) Puede obtener un shell raíz desde cualquier configuración de 'lista negra'. (Si tiene cuidado, puede detenerlo con una configuración de la lista blanca, pero generalmente no está garantizado)Fui con la idea del aviso rojo, y me pareció bastante tedioso encontrar un código de trabajo
.bashrc
.Así que aquí está mi versión, lista para ser incluida en
.bashrc
: https://github.com/RichVel/nicer-bash-prompt . Está completamente impulsada por nombre de host, por lo que el tiempo que usted tiene una disposición apropiada para los nombres de host de producción (por ejemploxyprod01
,xyprod02
, etc) va a funcionar bien, y se puede utilizar el mismo.bashrc
en todos los ambientes.Se parece a esto:
Esto crea un indicador de bash más agradable, incluido el indicador rojo en los hosts de producción; también le muestra la rama git actual y los últimos 2 directorios en $ PWD. Se debe tener cuidado de no estropear la pantalla cuando se hace Ctrl / R (búsqueda inversa) en bash.
También incluye una función opcional para sincronizar su historial de bash en todas las ventanas de terminal, en la línea de esta respuesta . Esto es bueno, pero no todos lo quieren, por lo que está deshabilitado de forma predeterminada.
fuente
Aunque no sé cómo es su configuración de TI, una solución que podría ser efectiva sería tener una sala especial a la que tenga que ir a SSH en los servidores de producción como root. Si tiene un centro de datos, esta podría ser la sala de servidores en sí, pero tener una ubicación física separada desde la que no se realiza el trabajo 'normal' serviría como un recordatorio constante de que está accediendo a las máquinas de producción.
fuente
Solo un cambio en las sugerencias anteriores. Uso CDE como mi escritorio de Unix y todos los sistemas de producción a los que accedo a través de un menú en .dt / dtwmrc. En todos los sistemas de desarrollo y UAT mantengo mi esquema de color normal, pero en los sistemas de producción configuro el terminal para que tenga un fondo rojo. No me gusta el aspecto, pero ese es el punto.
eta - erró Karol sugiriendo básicamente lo mismo
fuente
Cuando inicio sesión en una máquina de producción, recibo un párrafo que me advierte que es una máquina de producción, así como una breve lista de pautas. Hay un número al que puedo llamar para obtener asistencia de UNIX si no creo que pueda realizar mi tarea solo de forma segura, un recordatorio de que volar una máquina de producción me puede costar mi trabajo y un recordatorio de que todo lo que hago está registrado.
editar: Trabajo en la industria del transporte.
fuente
En PuTTY, puede cambiar el título de la ventana a otro que no sea el predeterminado para una sesión guardada específica. Esto siempre permanece en la ventana sin importar lo que hagas dentro de la ventana. Esto también aparece en la barra de tareas.
Expanda Ventana, haga clic en Comportamiento. Ingrese algo en el título de la ventana como:
fuente
Respuesta simple? Cambia el color de tu shell a rojo en la configuración del shell. Será obvio y simple de configurar. No solo eso, sino que, a diferencia de los encabezados del servidor, no desaparecerá después de escribir algunos comandos.
fuente
Esto es lo que hice en mi Mac. Para cada servidor, agrego una entrada en mi archivo ~ / .ssh / config, p. Ej.
Este Applescript se activa una vez que se establece la sesión SSH. Establece el color de fondo del terminal a los valores RGB proporcionados (o vuelve al valor predeterminado si no se proporcionan valores de color). La parte potencialmente complicada es interceptar el final de la sesión SSH para restablecer los colores a los valores predeterminados. Para eso, creé el siguiente script de shell como ~ / bin / ssh para anular el comando ssh predeterminado. Esto esencialmente intercepta y envuelve cualquier llamada al comando SSH. Intenté usar alias y funciones, pero esta solución funcionó mejor:
Aquí está la fuente del script change_terminal_colours.scpt . Ponga esto en su directorio ~ / bin también:
Escribí esta solución hace una semana y la he estado usando desde entonces. Espero que otros lo encuentren valioso. Creo que funciona mejor que cualquiera de las soluciones que encontré en Google.
fuente
Mi grupo usa visionapp Remote Desktop (edición de 2017: parece que el producto fue renombrado pero creo que es el mismo) tanto para RDP en máquinas Windows como para SSH en Linux. Nuestras conexiones se agrupan en carpetas por nivel y se les asigna un color de pestaña.
Entonces, cada vez que abrimos una conexión de producción, ¡bam! - Tenemos algo de rojo brillante en nuestra cara:
Definitivamente es una inversión que vale la pena si eres una gran tienda de Windows y confías mucho en RDP. Apuesto a que hay otras herramientas excelentes si todo lo que necesitas es SSH.
fuente
Además de un aviso único (que parece ser la solución más confiable), si está iniciando sesión desde la misma estación de trabajo, puede usar diferentes perfiles para sus sesiones SSH.
Por ejemplo, tengo fondos rojos para sistemas de producción, verdes para desarrollo, azules para infraestructura (enrutadores, etc.) y blancos para estaciones de trabajo locales.
Si usa GNOME, hay una manera fácil de iniciar una conexión SSH con su perfil deseado:
gnome-terminal --window-with-profile=production -e 'ssh [email protected]'
La principal desventaja: es del lado del cliente, por lo que un aviso especial sigue siendo su mejor opción si accede a servidores desde diferentes ubicaciones.
fuente
Otra forma de dejar en claro que está en un sistema de producción es configurar la función TMOUT (cierre automático) en el sistema de producción.
fuente
Debido a los vastos requisitos reglamentarios mientras se trabaja en una industria en particular, aquí las actividades de todos están registradas para cualquier disputa futura. Debido a eso, el acceso también está restringido y tiene que saltar a través de algunos "menús" que le permiten acceder a una máquina como uno de los pocos usuarios de confianza. Al configurar este sistema, la persona debe elegir conscientemente el entorno de PRODUCCIÓN o QA y luego elegir el host al que desea acceder de la lista. Esto también tiene un período de tiempo de espera para que no se encuentre con la situación de iniciar sesión en un host de productos y olvidarse del entorno en el que se encuentra al día siguiente.
fuente
Yo uso los cambios rápidos como otros aquí. Es rápido y desagradable, pero funciona bien para mis propósitos. Le dará rojo como usuario normal en un sistema de producción y mayúscula roja como raíz en un sistema de producción.
Podría escribirse en menos líneas, pero lo hago así para poder ajustar los otros 2 casos (no root-no prod) si lo deseo.
Trabajamos asumiendo que un servidor de producción no usa DHCP, pero puede usar cualquier otro método para determinar si es un sistema de producción. Lo que funcione para ti.
fuente
Tener una contraseña de root diferente (quizás más larga) en las máquinas de producción.
Puede hacer un sudo especial (o contenedor de sudo), de modo que se envíe un mensaje especial para las máquinas de producción.
fuente
Aquí, tenemos configuraciones de masilla predeterminadas para hacer que el color de primer plano de toda la pantalla sea de color rosa brillante.
Funciona bastante bien, pero me gustan algunas de las otras ideas aquí.
fuente
en el .bashrc / .bash_profile
fuente