Ubuntu, linux, .bashrc

Le fichier .bashrc du dossier /home/username est exécuté lors du démarrage d’un nouveau shell, c’est-à-dire, lorsque l’on lance la console sur un ordinateur, tel que WSL pour Windows, ou lorsque l’on se connecte à un serveur distant avec ssh Secure Shell.

Le tower Bridge et les textes .bashrc, SSH Agent et LS_COLORS

Il existe un autre fichier de démarrage : .bash_profile. Ce fichier est exécuté pour les login shell, c’est-à-dire lorsque que l’on saisit ses identifiants login et mot de passe. Lors d’un connexion ssh, on ouvre un terminal à distance, ssh vous identifie, on démarre un nouveau login shell, c’est le fichier .bashrc qui est exécuté. Si l’on change d’utilisateur dans le même terminal, lors de la connexion, c’est le fichier .bash_profile qui est exécuté. De plus, le fichier .bash_profile lance lui-même le fichier .bashrc, l’inverse n’est pas vrai.

SSH agent et passphrase

Lorsque l’on se connecte en ssh, il existe deux fichiers de clés, une privée et l’autre public, permettant d’authentifier l’utilisateur et de permettre des transmissions de données cryptées entre le serveur et l’ordinateur client. Lors de la création de ces clés, il est conseillé d’entrer une passphrase phrase de passe. Cette phrase de passe permet à la clé privée d’authentifier l’utilisateur.

Si l’on ne change pas le nom des clés par défaut, leurs noms sont id_rsa et id_rsa.pub. La clé privée permet d’authentifier l’utilisateur et la clé publique permet de reconnaître la clé privée. La clé publique sera copiée sur le serveur pour authentifier l’utilisateur. Concernant les données, lorsque le serveur envoie des données chiffrés avec la clé publique, il est nécessaire d’avoir la clé privée pour déchiffrer les données.

RSA est un acronyme Rivest Shamir Adellman des initiales des noms de leurs inventeurs et est un algorithme de chiffrement (cryptage) non réversible sans connaître la clé privée.

Lorsque l’on lance un terminal sur un ordinateur serveur, et que l’on veut se connecter en ssh à un serveur, cette phrase de passe est demandée. Si l’on fait de multiples connections, il est rébarbatif d’entrer cette phrase à chaque fois. Pour éviter cela, on utilise ssh agent qui permet de stocker en mémoire les clés privées lors de l’autentification. On lance donc cet agent d’authentification dans le .bashrc. A chaque lancement du terminal, la passphrase d’authentification de la clé privée sera demandé.

On écrit dans le fichier .bashrc :

Couleurs du shell

La variable d’environnement permet de définir les couleurs dans le terminal (si le teminal le permet). La variable LS_COLORS définit ces couleurs. On peut imprimer la valeur dans le terminal :

Couleurs

Code Signification   Code Signification   Code Couleur d’arrière plan
00 aucun   30 noir   40 noir
01 gras   31 rouge   41 rouge
04 souligné   32 vert   42 vert
05 clignotant   33 jaune   43 jaune
07 inversé   34 bleu   44 bleu
08 caché   35 magenta   45 magenta
      36 cyan   46 cyan
      37 blanc   47 blanc
      90 gris foncé      

Termes

  • NORMAL – no : il ne s’agit pas d’un type mais plus exactement de la valeur par défaut
  • FILE – fi : fichier normal
  • DIR – di : répertoire
  • LINK – ln : lien symbolique
  • DOOR – do : Porte
  • FIFO – pi : tuyaux
  • SOCK – so : socket
  • BLK – bd : fichier périphérique en mode bloc
  • CHR – cd : fichier périphérique en mode caractères
  • ORPHAN – or : lien symbolique orphelin (pointant vers un fichier inexistant)
  • MISSING – mi : lien symbolique orphelin (pointant vers un fichier inexistant)
  • EXEC – ex : fichier possédant une permission d’exécution
  • SETUID – su : Fichier setuid (u+s)
  • SETGID – sg : Fichier setgid (g+s)
  • STICKY_OTHER_WRITABLE – tw : Répertoire sticky, accessible en écriture
  • OTHER_WRITABLE – ow : Répertoire accessible en écriture mais non sticky
  • STICKY – st : Répertoire sticky
  • *.extension : Tous les fichiers utilisant l’extension

Un répertoire est dit sticky, si tout le monde peut accéder au répertoire, lire et écrire des fichiers. Par contre, seul l’utilisateur et le root peuvent supprimer les fichiers.

Les codes couleurs

On crée le fichier color-codes.sh que l’on rend exécutable avec la commande chmod 744 color-codes.sh.

On lance le fichier avec la commande ./color-codes.sh, on obtient :

Les couleurs et codes du shell
Les codes couleurs du shell

Pour changer les couleurs, on change des valeurs dans la variable LS_COLORS, on écrit la chaîne dans le fichier .bashrc, et l’on exporte la variable :

À continuer …

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables.