Maison > Tutoriel système > Linux > Comment modifier l'invite de bash pour un groupe d'utilisateurs spécifique dans Linux

Comment modifier l'invite de bash pour un groupe d'utilisateurs spécifique dans Linux

Joseph Gordon-Levitt
Libérer: 2025-03-20 09:37:10
original
701 Les gens l'ont consulté

Nous avons déjà examiné comment personnaliser l'invite de bash par défaut dans Linux. Dans ce tutoriel, nous apprendrons à modifier l'invite bash pour un groupe d'utilisateurs spécifiques dans les systèmes Linux et Unix.

Avant de configurer des invites de bash personnalisées vers des groupes d'utilisateurs, il est important de comprendre les avantages et les inconvénients de cette approche.

Table des matières

Avantages et inconvénients de l'invite de commande spécifique au groupe

L'utilisation d'une invite de commande spécifique au groupe dans Linux peut être avantageuse dans certains scénarios, mais il est également livré avec certaines considérations. Voici les avantages et les inconvénients:

Avantages

1. Identification plus facile des rôles utilisateur :

  • En personnalisant l'invite de commande en fonction de l'appartenance à un groupe, il devient plus facile d'identifier le rôle ou l'environnement dans lequel vous travaillez. Par exemple, une invite de développeur informe instantanément l'utilisateur qu'ils appartiennent au groupe ou à l'environnement des développeurs .

2. Réduction des erreurs :

  • Les invites personnalisées peuvent aider à réduire les erreurs, en particulier dans les environnements où les utilisateurs basculent entre plusieurs rôles ou serveurs. Par exemple, une invite distincte pour les utilisateurs d'administration peut leur rappeler le niveau supérieur des autorisations et encourager la prudence.

3. Expérience utilisateur améliorée :

  • Pour les utilisateurs qui appartiennent à plusieurs groupes, une invite personnalisée fournit une indication visuelle claire de leur groupe actuel, améliorant l'expérience utilisateur en rendant le terminal plus informatif et convivial.

4. Utile dans les systèmes multi-utilisateurs :

  • Sur les systèmes avec de nombreux utilisateurs, ces personnalisations peuvent aider à identifier rapidement le type d'utilisateurs connectés et leurs niveaux d'accès, ce qui est bénéfique pour les administrateurs système.

Désavantage

1. Complexité dans la gestion :

  • La mise en œuvre et la gestion des invites personnalisées peuvent ajouter de la complexité, en particulier sur les systèmes avec un grand nombre d'utilisateurs ou de groupes. Il nécessite des scripts et une configuration supplémentaires.

2. Potentiel de mauvaise configuration :

  • S'il n'est pas correctement configuré, ces scripts peuvent conduire à des erreurs de configurations. Par exemple, une apparence incorrecte à .Bashrc peut entraîner des répétitions indésirables ou même des erreurs de syntaxe qui pourraient affecter l'environnement de l'utilisateur.

3. Considérations de sécurité :

  • L'apprentissage automatique vers des fichiers de configuration comme .Bashrc pourrait être un risque de sécurité s'il n'est pas géré correctement. Il est important de s'assurer que ces scripts n'ouvrent pas par inadvertance les vulnérabilités de sécurité.

4. Dépendance à l'adhésion au groupe :

  • Cette méthode repose sur l'appartenance au groupe de l'utilisateur, qui pourrait changer avec le temps. Il faut que les adhésions au groupe soient correctement gérées et à jour.

5. Remplissez sur les indices visuels :

  • Les utilisateurs peuvent devenir excessives sur ces indices visuels et faire des hypothèses incorrectes sur leurs privilèges ou environnement en fonction de l'invite seule, ce qui pourrait entraîner des erreurs, surtout si la configuration de l'invite a des problèmes.

En résumé, la personnalisation de l'invite de commande en fonction de l'appartenance à groupe peut être utile pour améliorer l'expérience utilisateur et réduire les erreurs dans un environnement multi-utilisateurs ou multi-rôles. Cependant, cela nécessite une mise en œuvre et une gestion minutieuses pour éviter la complexité, la mauvaise configuration et les problèmes de sécurité potentiels.

Allons-y et voyons comment modifier l'invite de commande pour un groupe d'utilisateurs spécifique dans les systèmes Linux et Unix.

Les étapes suivantes ont été testées sur le système LTS Ubuntu 22.04. Nous espérons que cette méthode pourrait également fonctionner sur d'autres distributions Linux.

Modifier l'invite de bash pour un groupe d'utilisateurs spécifique

À des fins de démonstration, je créerai un nouveau groupe appelé «développeurs» et un nouvel utilisateur nommé «Senthil» . Et puis j'ajouterai l'utilisateur «Senthil» au groupe «développeurs» .

En conséquence, chaque fois que l'utilisateur «Senthil» se connecte, leur invite changera automatiquement en «développeur-Senthil @ Ubuntu2204: ~ $» . Voyons comment le faire étape par étape.

Étape 1 - Création d'un groupe dans Linux

Créer le groupe :

Exécutez la commande suivante pour créer un nouveau groupe nommé développeurs:

 $ sudo groupadd développeurs
Copier après la connexion

Cette commande crée un nouveau groupe appelé développeurs. Vous devrez peut-être saisir votre mot de passe si vous êtes invité.

Étape 2 - Ajout d'un nouvel utilisateur et attribution au groupe

Créer un nouvel utilisateur :

Pour créer un nouvel utilisateur nommé Senthil, utilisez la commande:

 $ sudo addUser Senthil
Copier après la connexion

Vous serez invité à définir un mot de passe pour le nouvel utilisateur et à remplir certaines informations utilisateur facultatives. Remplissez-les selon les besoins.

Ajoutez l'utilisateur au groupe :

Pour ajouter Senthil au groupe des développeurs, utilisez:

 $ sudo usermod -ag développeurs Senthil
Copier après la connexion

L'option -AG ajoute l'utilisateur au groupe tout en gardant ses abonnements de groupe existants.

Étape 3 - Définissez l'invite de bash personnalisée pour un groupe d'utilisateurs spécifique

Lorsque vous souhaitez modifier l'invite de commande pour les utilisateurs qui sont membres d'un groupe spécifique, vous avez deux options pour savoir où placer le script qui vérifie le groupe de l'utilisateur et modifie l'invite. Le choix dépend si vous souhaitez que le changement s'applique à un seul utilisateur ou à plusieurs utilisateurs:

Fichier .Bashrc de l'utilisateur individuel :

  • Si vous souhaitez que la modification ne s'applique qu'à un utilisateur spécifique, vous devez ajouter les lignes au fichier .bashrc de cet utilisateur situé dans son répertoire domestique (~ / .bashrc).
  • Cette approche est spécifique à l'utilisateur. Chaque utilisateur pour qui vous souhaitez appliquer cette modification aura besoin du script ajouté à son propre fichier .bashrc.
  • Par exemple, si vous voulez que Senthil ait une invite différente lorsqu'il fait partie du groupe de développeurs, vous ajouteriez les lignes uniquement au fichier .bashrc de Senthil.

Fichier de configuration global /etc/bash.bashrc :

  • Si vous souhaitez que cette modification s'applique à tous les utilisateurs du système, vous pouvez modifier le fichier global /etc/bash.bashrc.
  • Cette méthode appliquera le changement à l'environnement de chaque utilisateur, mais le script ne changera toujours que l'invite pour les utilisateurs qui sont dans le groupe spécifié.
  • Ceci est utile si vous avez plusieurs utilisateurs dans le groupe et que vous souhaitez le même comportement pour tous sans modifier chaque fichier .Bashrc individuel.

Avant d'apporter des modifications dans le fichier local ~ / .bashrc ou global /etc/bash.bashrc, je vous recommande fortement de les sauvegarder. Cela vous permet de restaurer les paramètres d'origine en cas de problème.

Pour sauvegarder le fichier ~ / .bashrc de l'utilisateur, exécutez:

 $ cp ~ / .bashrc ~ / .bashrc_backup
Copier après la connexion

Pour sauvegarder le fichier global bashrc, exécuter:

 $ sudo cp /etc/bash.bashrc /etc/bash.bashrc_backup
Copier après la connexion

Après avoir sauvegardé le fichier BASHRC approprié, ouvrez-le en utilisant votre éditeur préféré.

Ici, je vais appliquer cette méthode pour tous les utilisateurs du système, donc je modifie le fichier global /etc/bash.bashrc.

 $ sudo nano /etc/bash.bashrc
Copier après la connexion

Ajoutez les lignes suivantes à la fin:

 bashrc_file = "/ home / $ (whoami) /. bashrc"
développeur_prompt = 'ps1 = "développeur- \ u @ \ h: \ w \ $"'

# Fonction pour ajouter ou mettre à jour PS1 dans .Bashrc
add_or_update_ps1 () {
    prompt_line = 1 $
    grep -qf - "$ prompt_line" "$ bashrc_file" || echo "$ prompt_line" >> "$ bashrc_file"
}

Si id -ng "$ (whoami)" | grep -qw "développeurs"; alors
    add_or_update_ps1 "$ développeur_prompt"
FI
Copier après la connexion

Décomposons le code ci-dessus et voyons ce que fait chaque option.

Définir les variables :

  • BASHRC_FILE maintient le chemin d'accès au fichier .bashrc de l'utilisateur.
  • Developer_Prompt Hold les chaînes PS1 pour les utilisateurs appartiennent au groupe de développeurs.

Fonction add_or_update_ps1 :

  • Cette fonction prend une ligne rapide comme argument.
  • Il utilise Grep -QF pour vérifier si la ligne invite exacte existe déjà dans .Bashrc.
  • Le - garantit que la chaîne suivante est traitée comme un littéral et non comme une option de commande.
  • S'il n'existe pas (||), la ligne d'invite est ajoutée à .Bashrc.

Vérifiez l'appartenance au groupe et appliquez une invite :

  • Le script vérifie si l'utilisateur est dans le groupe de développeurs.
  • Si l'utilisateur appartient au groupe de développeurs, il appelle add_or_update_ps1 avec Developer_Prompt.

En résumé, ce script modifie l'invite de commande pour les utilisateurs qui appartiennent au groupe de développeurs en ajoutant une définition d'invite personnalisée à leur fichier .bashrc. Il garantit que l' invite personnalisée n'est ajoutée qu'une seule fois pour éviter la duplication.

Appuyez sur Ctrl O suivi de Ctrl x pour enregistrer le fichier et quitter.

N'oubliez pas qu'après l'édition de l'un ou l'autre fichier, les modifications ne prendront effet que lorsque une nouvelle session de shell sera démarrée. Les utilisateurs peuvent se déconnecter et revenir en arrière, soit ils peuvent exécuter Source ~ / .Bashrc dans leur session actuelle pour appliquer immédiatement les modifications.

Appliquer les modifications à l'aide de la commande:

 $ source /etc/bash.bashrc
Copier après la connexion

Étape 4 - Vérifiez l'invite de bash

Maintenant, déconnectez-vous et connectez-vous en tant que «Senthil» de l'utilisateur. Ouvrez votre terminal et vous verrez que l'invite de l'utilisateur a changé pour quelque chose comme ceci:

Comment modifier l'invite de bash pour un groupe d'utilisateurs spécifique dans Linux

Si votre système n'a pas d'interface graphique, vous pouvez le vérifier par SSH dans le système à partir d'autres systèmes.

 développeur-Senthil @ Ubuntu2204: ~ $
Copier après la connexion

Comment modifier l'invite de bash pour un groupe d'utilisateurs spécifique dans Linux

Voir? L'invite bash de l'utilisateur a été modifiée.

Changer l'invite bash en fonction de l'appartenance au groupe sudo

Vous pouvez en outre modifier ce script pour distinguer les différents types d'utilisateurs.

Dites par exemple, vous pouvez distinguer les utilisateurs normaux et les utilisateurs administratifs qui appartiennent au groupe sudo dans Linux. Cela implique de modifier l'invite de commande selon que l'utilisateur a des privilèges sudo.

Ajoutez les lignes suivantes au fichier global /etc/bash.bashrc ou au fichier .bashrc d'un utilisateur individuel:

 bashrc_file = "/ home / $ (whoami) /. bashrc"
sudo_prompt = 'ps1 = "Sudouser- \ u @ \ h: \ w \ $"'
normal_prompt = 'ps1 = "normalUser- \ u @ \ h: \ w \ $"'

# Fonction pour ajouter ou mettre à jour PS1 dans .Bashrc
add_or_update_ps1 () {
    prompt_line = 1 $
    grep -qf - "$ prompt_line" "$ bashrc_file" || echo "$ prompt_line" >> "$ bashrc_file"
}

Si id -ng "$ (whoami)" | grep -qw "sudo"; alors
    add_or_update_ps1 "$ sudo_prompt"
autre
    add_or_update_ps1 "$ normal_prompt"
FI
Copier après la connexion

Ce script modifiera l'invite pour sudouser- @hostname: ~ $ pour les utilisateurs du groupe sudo et vers normalUser- @hostname: ~ $ pour les utilisateurs non dans le groupe sudo.

Est-ce une configuration recommandée?

La question de savoir si cette configuration est recommandée dépend du contexte et des besoins du système:

Avantages :

  • Identification claire des rôles : similaire aux invites spécifiques au groupe, cette configuration aide à identifier immédiatement si la session utilisateur actuelle a des privilèges sudo, ce qui peut être particulièrement utile dans des environnements multi-utilisateurs.
  • Prévention des erreurs : il agit comme un rappel constant des privilèges de l'utilisateur, empêchant potentiellement les commandes accidentelles avec des privilèges élevés.

Inconvénients :

  • Complexité et maintenance : comme toute personnalisation, il ajoute une couche de complexité à la configuration du système et nécessite une maintenance appropriée.
  • Faux sens de la sécurité : les utilisateurs peuvent développer un faux sentiment de sécurité ou de complaisance, pensant que le changement rapide reflète pleinement leurs privilèges. Cependant, les autorisations réelles sont plus nuancées et dépendantes du contexte.
  • Potentiel de mauvaise configuration : incorrectement mis en œuvre, il pourrait entraîner une confusion ou une mauvaise configuration.

En résumé, la personnalisation de l'invite de commande pour distinguer les utilisateurs normaux et les utilisateurs sudo peut être utile dans certains environnements, en particulier lorsque l'identification rapide des privilèges des utilisateurs est importante.

Cependant, il n'est pas universellement recommandé, car il ajoute de la complexité et dépend des besoins spécifiques et des capacités de gestion des administrateurs système.

Restaurer le fichier .bashrc aux paramètres par défaut

Si vous rencontrez des problèmes, vous pouvez retourner les modifications en restaurant le fichier .bashrc à partir de votre sauvegarde. Si vous n'avez pas effectué de sauvegarde, vous pouvez à nouveau modifier manuellement le fichier et supprimer ou commenter le script personnalisé que vous avez ajouté dans les étapes précédentes.

En outre, il existe une version par défaut du fichier .bashrc dans le répertoire / etc / skel / dans les systèmes Debian et Ubuntu.

 $ ls -al / etc / skel /
total 32
DRWXR-XR-X 2 racine racine 4096 Jan 8 18:02.
DRWXR-XR-X 138 Root Root 12288 Jan 8 17:55 ..
-rw-r - r-- 1 racine racine 220 janv. 2022 .bash_logout
-rw-r - r-- 1 racine racine 4116 8 janvier 18:00<strong><mark> .Bashrc</mark>
-rw-r - r-- 1 racine racine 807 janv. 2022 .profile</strong>
Copier après la connexion

Copiez la version par défaut du fichier ~ / .bashrc dans votre version actuelle comme ci-dessous:

 $ cp /etc/skel/.bashrc ~ /
Copier après la connexion

Enfin, exécutez la commande suivante pour mettre à jour les modifications.

 $ source ~ / .bashrc
Copier après la connexion

Pour plus de détails, consultez le lien suivant:

Comment restaurer le fichier .bashrc aux paramètres par défaut dans Ubuntu

Conclusion

Dans ce didacticiel, nous avons discuté de la façon de définir une invite de bash personnalisée pour les utilisateurs d'un certain groupe, et les avantages et les inconvénients de la modification de l'invite de commande dans Linux avec des exemples de scripts.

Bien que la modification des invites de bash puisse être utile pour des besoins spécifiques dans certains environnements, il n'est généralement pas recommandé pour les débutants.

Il est toujours une bonne pratique de tester cette approche dans une machine virtuelle et de peser les avantages contre les risques et les complexités potentiels avant de mettre en œuvre ces changements.

Lire connexe:

  • Comment changer l'invite sudo dans Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal