Seite anzeigenÄltere VersionenLinks hierherNach oben Diese Seite ist nicht editierbar. Sie können den Quelltext sehen, jedoch nicht verändern. Kontaktieren Sie den Administrator, wenn Sie glauben, dass hier ein Fehler vorliegt. Puppet manifest um einen Benutzer zu erstellen. **In diesem Beispiel existieren auf dem Puppeserver die ssh Schlüsseldateien und werden nicht erzeugt.** \\ \\ <code> # Erstellt einen Benutzer für ... # Es werden die Dateien id_ecdsa, id_ecdsa.pub und authorized_keys benötigt für den Benutzer benötigt. class server_2410::create_user { # Password mit pwgen -n 14 -s -y erstellen und den Hashwert mit openssl passwd -6 erstellen # Passwort ist 123456789 $homebin = "/home/user $userpw = '$6$...123456789' $username = "user" $sshkeys = [ 'id_ecdsa', 'id_ecdsa.pub', ] $module = "modules/server_2410" $msg = "create_user:" # Erstelle die Gruppe user group { "$msg Erstelle die Gruppe $username": name => "$username", } # Erstelle den Benutzer user user { "$msg Erstelle den Benutzer $username": comment => 'Nutzer für ....', name => "$username", gid => "$username", home => "$homebin", password => "$userpw", system => true, require => Group["$msg Erstelle die Gruppe $username"], } # Erstelle den .ssh Ordner für den Remotelogin exec { "$msg Erstelle den .ssh Ordner für den Benutzer $username": path => [ '/usr/bin', ], command => "mkdir -p $homebin/.ssh && chown -R $username:$username $homebin", onlyif => [ "test ! -d $homebin/.ssh", ], } file { "$msg Setze die Rechte für den .ssh von $username": path => "$homebin/.ssh", owner => $username, group => $username, mode => '600', } # Erstelle die passenden ssh Schlüssel $sshkeys.each | $sshkey | { file { "$msg Erstelle den sshkey $sshkey für $username": ensure => present, path => "$homebin/.ssh/$sshkey", owner => $username, group => $username, mode => '600', source => "puppet:///$module$homebin/.ssh/$sshkey", require => File["$msg Setze die Rechte für den .ssh von $username"], } } # Erstellen die authorized_keys Datei file { "$msg Erstelle die authorized_keys Datei für $username": ensure => present, path => "$homebin/.ssh/authorized_keys", owner => $username, group => $username, mode => '600', source => "puppet:///$module$homebin/.ssh/authorized_keys", require => File["$msg Setze die Rechte für den .ssh von $username"], } } </code>