GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwalten eines Benutzerpassworts für Linux in Puppet

Linux-Benutzer haben ihre Passwörter als Hash in der Datei /etc/shadow gespeichert. Puppet übergibt das in der Benutzertypdefinition angegebene Passwort in der Datei /etc/shadow.

Generieren Sie Ihr Hash-Passwort mit dem openssl-Befehl:

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

Das vorherige Beispiel generiert diesen Hash:$1$HTQUGYUGYUGwsxQxCp3F/nGc4DCYM/

Fügen Sie dieses Hash-Passwort wie gezeigt zu Ihrer Klasse hinzu (vergessen Sie die Anführungszeichen nicht)

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

Der sha1 Die Funktion in Puppet ist nicht direkt für Passwd-Einträge gedacht, wie Sie herausgefunden haben. Ich würde sagen, das Festlegen des Hashs anstelle des Passworts ist eine gute Übung! Sie sollten sowieso nicht in der Lage sein, ein Passwort wiederherzustellen - Sie können es einmal generieren, oder Sie können es jedes Mal von Puppet generieren lassen - das einmalige Generieren dieses Hashs sollte meiner Meinung nach ausreichen ... Sie können ein Passwort unter Debian / Ubuntu generieren so:

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

...unter CentOS können Sie statt mkpasswd einen grub-crypt-Befehl verwenden...


Das stdlib-Paket von puppetlabs implementiert einen ähnlichen pw_hash Funktion der angenommenen Antwort.

Stellen Sie sicher, dass Sie die Bibliothek zu Ihrer Konfiguration hinzufügen. Wenn Sie Bibliothekar verwenden, fügen Sie einfach Ihren Puppetfile hinzu

mod 'puppetlabs-stdlib'

Um dann einen Benutzer zu erstellen, einfach:

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

Ich hatte Erfolg (im Wesentlichen) mit Rubys String#crypt-Methode innerhalb einer Puppet-Parser-Funktion.

AFAICS verwendet die crypt-libc-Funktionen (siehe:info crypt ) und verwendet dieselben Argumente $n$[rounds=<m>$]salt , wobei n die Hashing-Funktion ist ($6 für SHA-512) und m die Anzahl der Schlüsselverstärkungsrunden ist (standardmäßig 5000).


Linux
  1. 20 wichtige Linux-Befehle für jeden Benutzer

  2. So ändern, entfernen oder deaktivieren Sie das Benutzerkennwort in Linux

  3. Titan – Ein Befehlszeilen-Passwort-Manager für Linux

  4. Kennwort für den Einzelbenutzermodus unter Linux (CentOS/RHEL) festlegen

  5. Panikpasswort unter Linux

Finden Sie Benutzerkonten mit leerem Passwort in Linux

Erstellen Sie ein Home-Verzeichnis für einen bestehenden Benutzer in Linux

So ändern Sie das Benutzerkennwort in Linux

So ändern oder setzen Sie das Benutzerkennwort in Linux

Linux passwd-Befehl – ​​Benutzerkennwort ändern

Durchführen von Linux-Passwortzurücksetzungen [Schritt für Schritt]