GNU/Linux >> Tutoriels Linux >  >> Linux

Gestion d'un mot de passe utilisateur pour linux dans puppet

Les utilisateurs Linux ont leurs mots de passe stockés sous forme de hachage dans le fichier /etc/shadow. Puppet transmet le mot de passe fourni dans la définition du type d'utilisateur dans le fichier /etc/shadow.

Générez votre mot de passe de hachage à l'aide de la commande openssl :

 #openssl passwd -1  
 #Enter your password here 
 Password: 
 Verifying - Password: 
 $1$HTQUGYUGYUGwsxQxCp3F/nGc4DCYM

L'exemple précédent génère ce hachage :$1$HTQUGYUGYUGwsxQxCp3F/nGc4DCYM/

Ajoutez ce mot de passe de hachage à votre classe comme indiqué (n'oubliez pas les guillemets)

user { 'test_user': 
  ensure   => present,
  password => '$1$HTQUGYUGYUGwsxQxCp3F/nGc4DCYM/',
}

Le sha1 La fonction dans la marionnette n'est pas directement destinée aux entrées passwd, comme vous l'avez compris. Je dirais que définir le hachage plutôt que le mot de passe est une bonne pratique ! De toute façon, vous n'êtes pas vraiment censé pouvoir récupérer un mot de passe - vous pouvez le générer une fois, ou vous pouvez demander à une marionnette de le générer à chaque fois - générer ce hachage une fois devrait suffire à mon humble avis... Vous pouvez générer un mot de passe sur Debian/Ubuntu comme ceci :

pwgen -s -1 | mkpasswd -m sha-512 -s

... sur CentOS, vous pouvez utiliser une commande grub-crypt au lieu de mkpasswd...


Le package stdlib de puppetlabs implémente un pw_hash similaire fonction de la réponse acceptée.

Assurez-vous d'ajouter la bibliothèque à votre configuration. Si vous utilisez un bibliothécaire, ajoutez simplement votre Puppetfile

mod 'puppetlabs-stdlib'

Ensuite pour créer un utilisateur, il suffit de :

user { 'user':
  ensure => present,
  password => pw_hash('password', 'SHA-512', 'mysalt'),
}

J'ai eu du succès (essentiel) avec la méthode String#crypt de ruby ​​à partir d'une fonction d'analyseur Puppet.

AFAICS utilise les fonctions crypt libc (voir :info crypt ), et prend les mêmes arguments $n$[rounds=<m>$]salt , où n est la fonction de hachage (6 $ pour SHA-512) et m est le nombre de tours de renforcement de clé (5000 par défaut).


Linux
  1. 20 commandes Linux essentielles pour chaque utilisateur

  2. Titan - Un gestionnaire de mots de passe en ligne de commande pour Linux

  3. Définir ou modifier un mot de passe utilisateur sous Linux

  4. Définir le mot de passe pour le mode mono-utilisateur sous Linux (CentOS/RHEL)

  5. Mot de passe panique sous Linux

Trouver des comptes d'utilisateurs avec un mot de passe vide sous Linux

Créer un répertoire personnel pour un utilisateur existant sous Linux

Comment changer le mot de passe utilisateur sous Linux

Comment changer ou définir un mot de passe utilisateur sous Linux

Commande Linux passwd - Modifier le mot de passe utilisateur

Effectuer des réinitialisations de mot de passe Linux [étape par étape]