6.3. Configurer le shell par défaut pour les utilisateurs IdM à l'aide d'un playbook Ansible
L'interpréteur de commandes est un programme qui accepte et interprète les commandes. Plusieurs interpréteurs de commandes sont disponibles dans Red Hat Enterprise Linux (RHEL), tels que bash
, sh
, ksh
, zsh
, fish
, et d'autres. Bash
l'interpréteur de commandes, ou /bin/bash
, est un interpréteur de commandes populaire sur la plupart des systèmes Linux, et c'est normalement l'interpréteur de commandes par défaut pour les comptes d'utilisateurs sur RHEL.
La procédure suivante décrit comment utiliser un playbook Ansible pour configurer sh
, un shell alternatif, comme shell par défaut pour les utilisateurs d'IdM.
Conditions préalables
- Vous connaissez le mot de passe de l'administrateur IdM.
Vous avez configuré votre nœud de contrôle Ansible pour qu'il réponde aux exigences suivantes :
- Vous utilisez la version 2.8 ou ultérieure d'Ansible.
-
Vous avez installé le paquetage
ansible-freeipa
sur le contrôleur Ansible. - L'exemple suppose que dans le répertoire ~/MyPlaybooks/ vous avez créé un fichier d'inventaire Ansible avec le nom de domaine complet (FQDN) du serveur IdM.
-
L'exemple suppose que le coffre-fort secret.yml Ansible stocke votre
ipaadmin_password
.
Procédure
-
Facultatif : Utilisez le playbook Ansible
retrieve-config.yml
pour identifier le shell actuel des utilisateurs IdM. Voir Récupération de la configuration IdM à l'aide d'un playbook Ansible pour plus de détails. Créez un fichier d'inventaire, par exemple
inventory.file
, et définissez-yipaserver
:[ipaserver] server.idm.example.com
Ouvrez le fichier
/usr/share/doc/ansible-freeipa/playbooks/config/ensure-config-options-are-set.yml
Ansible playbook pour l'éditer :--- - name: Playbook to ensure some config options are set hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Set defaultlogin and maxusername - ipaconfig: ipaadmin_password: "{{ ipaadmin_password }}" defaultshell: /bin/bash maxusername: 64
Adaptez le fichier en modifiant les éléments suivants :
-
Le mot de passe de l'administrateur IdM défini par la variable
ipaadmin_password
. -
Le shell par défaut des utilisateurs de l'IdM est défini par la variable
defaultshell
dans/bin/sh
.
-
Le mot de passe de l'administrateur IdM défini par la variable
- Enregistrer le fichier.
Exécutez le playbook Ansible. Spécifiez le fichier du livre de jeu, le fichier contenant le mot de passe protégeant le fichier secret.yml et le fichier d'inventaire :
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/config/ensure-config-options-are-set.yml
Verification steps
Vous pouvez vérifier que le shell de l'utilisateur par défaut a été modifié en démarrant une nouvelle session dans IdM :
Connectez-vous à
ipaserver
en tant qu'administrateur IdM :$ ssh admin@server.idm.example.com Password: [admin@server /]$
Affiche l'interpréteur de commandes actuel :
[admin@server /]$ echo "$SHELL" /bin/sh
L'utilisateur connecté utilise l'interpréteur de commandes
sh
.