Comment puis-je modifier le shell du gestionnaire de séance en bash sur les instances Linux EC2 ?

Dernière mise à jour : 24/03/2021

Je souhaite modifier le shell par défaut du gestionnaire de séance sur mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2). Comment dois-je procéder ?

Brève description

Les séances du gestionnaire de séance sur les instances Linux Amazon EC2 utilisent le shell (sh) Bourne par défaut. Cependant, bash est le shell par défaut dans les principales distributions Linux. Si vous préférez utiliser un bash plutôt qu'un sh, vous pouvez modifier le shell par défaut du gestionnaire de séance en bash à l'aide de profils shell configurables. Les profils shell vous permettent de personnaliser les préférences des sessions lorsque vous utilisez le gestionnaire de séance, notamment :
  • Les préférences shell
  • Les variables d'environnement
  • Les répertoires de travail
  • Exécution de plusieurs commandes au démarrage d'une session

Vous pouvez activer les profils shell configurables à l'aide de la console Systems Manager ou de l'interface de ligne de commande AWS (AWS CLI).

Résolution

Prérequis

Pour activer les profils shell, vous devez utiliser la version 3.0.196.0 ou ultérieure de l'agent SSM. Vérifiez le numéro de version de l'agent SSM sur votre instance. Si nécessaire, mettez à jour l'agent SSM. Pour plus d'informations, consultez Automatisation des mises à jour de l'agent SSM.

Pour afficher les shells disponibles sur l'instance, exécutez la commande suivante :

$ sudo cat /etc/shells

Remarque : vous pouvez utiliser n'importe lequel des shells renvoyés à l'aide de cette commande.

Activer les profils shell configurables (console)

Pour activer les profils shell configurables et modifier le shell en bash à l'aide de la console Systems Manager, procédez comme suit :

1.    Ouvrez la console Systems Manager et choisissez Session Manager (Gestionnaire de séance) dans le volet de navigation.

2.    Choisissez l'onglet Preferences (Préférences), puis Edit (Modifier).

3.    Pour « Linux » sous « shellProfile », entrez ce qui suit :

/bin/bash

4.    Sélectionnez Save (Enregistrer).

Activer les profils shell configurables (AWS CLI)

Remarque : si vous recevez des erreurs lors de l'exécution de commandes AWS CLI, assurez-vous que vous utilisez la version la plus récente de l'interface de ligne de commande AWS CLI.

Pour obtenir des instructions sur l'activation des profils shell configurables et la modification du shell en bash à l'aide d'AWS CLI, consultez Créer des préférences Session Manager (ligne de commande).

Autres options de configuration de profil shell

Par défaut, le gestionnaire de séance démarre dans le répertoire « /usr/bin ». Vous pouvez ajouter une commande à votre profil shell pour modifier le répertoire /usr sur les instances Linux. Par exemple :
cd /home/ec2-user

Vous pouvez également utiliser le profil shell pour charger des variables d'environnement spécifiques ou exécuter un script au début de la session. Par exemple, pour ajouter la variable d'environnement PYTHONPATH, ajoutez la commande suivante à votre profil shell :

export PYTHONPATH=/usr/lib/python2.7

Lorsque vous êtes connecté, vous pouvez exécuter la commande suivante pour vérifier que la variable d'environnement est correctement définie :

$ sudo env