137 votes

Comment faire pour qu'il soit évident que vous êtes sur un système de production ?

Quelques-uns d'entre nous dans mon entreprise ont un accès root sur les serveurs de production. Nous recherchons un bon moyen de rendre excessivement claire quand on s'est connecté.

Voici quelques idées que nous avons eues :

  • Un prompteur rouge vif
  • Répondez à une énigme avant d'obtenir un Shell.
  • Tapez un mot aléatoire avant d'obtenir un Shell.

Quelles sont les techniques que vous utilisez pour différencier les systèmes de production ?

13voto

John Gardeniers Points 27097

Considérez que vos deuxième et troisième idées vous aident lors de la connexion initiale mais qu'elles n'ont aucune valeur lorsque vous avez plusieurs terminaux ouverts et que vous passez de l'un à l'autre. L'idée de sysadmin1138 d'utiliser le nommage est bonne lorsqu'elle peut être appliquée mais il y a de nombreux cas où elle ne peut pas l'être.

La seule chose que j'ai trouvée vraiment utile est une invite de couleur. J'aime le vert pour le développement/testing, le rouge pour la production et le bleu pour les machines dans la DMZ. De cette façon, même si j'ai deux machines portant le même nom (dans des réseaux différents), par exemple lorsque je prépare une machine de remplacement, je peux facilement savoir sur laquelle je me trouve.

11voto

Nils Points 7622

L'invite de commande rouge/spéciale est bonne. Une autre solution pourrait être une déconnexion automatique plus rapide sur ces machines en utilisant la variable TMOUT. Si vous avez ouvert de nombreuses fenêtres, les machines de production se déconnecteront plus rapidement.

Cela devrait conduire à un comportement différent :

  1. Développer
  2. Test
  3. Effectuez vos modifications sur un serveur de test
  4. Ensuite seulement, faites un saut rapide vers la production et déployez-la (exactement comme vous l'avez fait sur le serveur de test).

9voto

Bernd Plontsch Points 265

Travailler sur une machine de production avec un simple compte root n'est jamais une bonne idée.

Avoir un compte avec toutes les permissions sudo. N'autorise pas la sauvegarde de la session sudo. Interdit sudo su. Utilisez un mot de passe distinct pour ce compte (pas celui que vous avez pour votre machine de développement). Probablement tweak sudo pour notifier l'identité de production de la Shell avant d'exécuter la commande ( via alias ).

Cela rendra les erreurs accidentelles très difficiles. Et un message rouge ne fait jamais de mal.

8voto

RichVel Points 3524

J'ai opté pour l'idée de l'invite rouge, et j'ai trouvé assez fastidieux de trouver du code fonctionnel pour .bashrc .

Voici donc ma version, prête à être incluse dans .bashrc - https://github.com/RichVel/nicer-bash-prompt . Il est complètement piloté par le nom d'hôte, donc tant que vous avez un modèle approprié pour les noms d'hôtes de production (par exemple xyprod01 , xyprod02 etc.), cela fonctionnera bien, et vous pouvez utiliser le même système de gestion de la qualité. .bashrc dans tous les environnements.

Ça ressemble à ça :

screenshot of red prompt

Cela crée une invite bash plus agréable, y compris une invite rouge sur les hôtes de production - cela vous montre également la branche git actuelle et les deux derniers répertoires dans $PWD. Il prend soin d'éviter de perturber l'affichage de l'invite lorsque vous faites Ctrl/R (recherche inverse) dans bash.

Inclut également une fonctionnalité optionnelle permettant de synchroniser l'historique de votre bash sur tous les terminaux Windows, selon le principe suivant cette réponse . C'est une bonne chose mais tout le monde n'en veut pas, c'est pourquoi elle est désactivée par défaut.

5voto

Ramiro Berrelleza Points 1017

Bien que je ne sache pas à quoi ressemble votre configuration informatique, une solution qui pourrait être efficace serait d'avoir une salle spéciale dans laquelle vous devez vous rendre pour vous connecter en tant que root aux serveurs de production. Si vous disposez d'un centre de données, il pourrait s'agir de la salle des serveurs elle-même, mais le fait de disposer d'un lieu physique distinct où le travail "normal" n'est pas effectué constituerait un rappel constant que vous accédez à des machines de production.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X