Comment utiliser des mots de passe chiffrés dans les scripts Shell sous Linux.
Les scripts Bash constituent une partie fondamentale de la tâche d’un gestionnaire de système. Ils vous permettent d’automatiser les tâches ordinaires ainsi que les tâches importantes.
L’une des meilleures choses avec les scripts est qu’ils peuvent s’exécuter individuellement sans intervention humaine, mais occasionnellement, il peut être éprouvant d’automatiser des tâches qui nécessitent des mots de passe individuels. Permettez-nous de regarder juste comment vous pouvez automatiser en toute sécurité les scripts qui nécessitent des mots de passe sans compromettre la sécurité.
Création d’un script simple
Supposons que vous souhaitiez développer un script simple qui sauvegarde votre dossier de résidence Linux vers un emplacement distant afin que vous puissiez rapidement restaurer vos données en cas de perte d’informations.
Commencez par créer une donnée de manuscrit Bash dans votre dossier de résidence, en utilisant la commande touch ou tout type de méthode diverse, ainsi que de le nommer. backup _ home.sh Sentez-vous totalement libre d’utiliser tout type de nom ainsi que le répertoire de votre choix.
Le manuscrit utilise le rsync commande, un outil efficace de duplication de documents, afin de prendre en charge tous les fichiers de votre site de répertoire personnel local vers un serveur distant.
Copiez le matériel du manuscrit adhérent ainsi que le coller directement dans vos documents Bash. N’oubliez pas de remplacer le client john par le nom correct de la personne de votre maison de quartier. Fournissez également le bon nom d’utilisateur et aussi l’adresse IP du serveur web distant.
Si vous n’avez pas de serveur web distant à évaluer, vous pouvez simplement monter VirtualBox et établir une VM sur votre appareil régional. Utilisez le visiteur VM comme votre serveur web distant.
Sauvegardez les données. Pour effectuer le manuscrit, vous devez lui donner le consentement d’exécution en utilisant la commande. sudo chmod 755. Toutes les personnes peuvent exécuter le script mais seuls les clients sudo peuvent modifier les données.
Enfin, exécutez le script Bash depuis l’incurable en utilisant la commande :
Chaque fois que vous exécuterez ce script, vous serez invité à saisir le mot de passe du serveur web distant. Ceci n’est pas optimal si vous souhaitez exécuter le manuscrit sans traitement humain, comme lors de l’utilisation de Cron.
Automatisation de la connexion par mot de passe
Installer sshpass , un fournisseur de mots de passe non interactif, sur votre PC de quartier ou sur l’ordinateur à partir duquel vous allez certainement exécuter le script.
Sur les distros basées sur Debian
Si vous obtenez sur une distro basée sur Debian comme Ubuntu, Pop ! OS, et aussi Lubuntu :
Sur RHEL ainsi que Fedora
Après avoir installé sshpass modifiez le manuscrit pour qu’il ressemble à ce qui suit .
Ici, vous fournissez le mot de passe en texte clair. Évidemment, ce n’est pas la méthode parfaite, étant donné que ce n’est pas une sauvegarde et aussi pas une bonne méthode. Si jamais le manuscrit atterrit dans de mauvaises mains, vous restez dans un profond problème.
Pour rendre cela plus sûr, nous utiliserons GnuPG, un dispositif de sécurité sûr et aussi open-source.
Cryptage de votre mot de passe
GnuPG est installé par défaut sur de nombreux systèmes Linux, cependant dans le cas où il n’est pas configuré sur votre système, voici comment configurer GnuPG.
Créez une donnée cachée appelée secrets en utilisant la commande touche. touches . Étant donné que nous avons rendu les documents cachés par défaut comme une étape supplémentaire de sûreté et de sécurité, voici exactement comment vous pouvez regarder les fichiers cachés sur Linux.
Dans les documents clés, entrez le mot de passe de votre ordinateur distant et attendez.
Ensuite, cryptez le fichier à l’aide de la fonction gpg commande.
Vous serez invité à entrer dans un coffre-fort et sécurisé ainsi qu’une phrase de passe solide pour ouvrir le fichier crypté.
GnuPG va développer un nouveau fichier avec l’expansion. . gpg ajoutée à l’ancien nom du fichier. Le nom de vos nouveaux documents doit maintenant être secrets. gpg , en supposant que vous avez utilisé l’option secrets nom de fichier.
Si vous vérifiez le contenu de secrets.gpg à l’aide de la commande cat commande, vous existerez avec un message babillard pour montrer que votre mot de passe est crypté.
Pour voir les matériaux du fichier en texte ordinaire, vous devrez le décrypter en utilisant la commande suivante (vous serez invité à entrer le mot de passe que vous avez défini pendant la sécurité) :
Utilisation d’un mot de passe crypté dans votre script.
Pour utiliser le mot de passe crypté dans le manuscrit, mettez à jour le manuscrit comme suit :
Exécutez les manuscrits de sauvegarde une fois de plus, ainsi que ce moment vous ne serez pas invité pour un mot de passe.
Automatiser des tâches avec des scripts Bash
GnuGP est fréquemment utilisé pour sauvegarder des documents délicats et également des informations sur votre ordinateur ainsi que c’est également un merveilleux outil pour protéger les mots de passe dans les scripts Bash automatisés sur Linux.
Il y a tout un tas de choses que vous pouvez faire avec les scripts Bash. Bash est un outil efficace qui peut vous aider à automatiser un grand nombre de choses sur Linux et aussi apprendre à créer des manuscrits Bash est un investissement financier bénéfique.
Comment passez-vous les informations d’identification dans le script shell ?
username : Ajouter cet utilisateur au système Linux,
- Étape 1 – Créez un mot de passe crypté.
- Étape 2 – Script Shell pour ajouter un utilisateur et un mot de passe sous Linux.
- Étape 3 – Modifiez le mot de passe de l’utilisateur Linux existant dans une CLI.
- Étape 4 – Créez des utilisateurs et modifiez les mots de passe avec passwd sur un CentOS/RHEL.
Comment mettre un mot de passe sur un script Linux ?
#!/bin/bash password= » » echo « Entrez le nom d’utilisateur : » # il lira le nom d’utilisateur read username pass_var= »Entrez le mot de passe : » # ceci prendra le mot de passe lettre par lettre tandis que IFS= read -p « $pass_var » -r -s -n 1 lettre do # si vous appuyez sur entrée alors la condition # est vraie et elle sort de la boucle si [[ $letter == $’