Gruppen können in einem virtuellen Benutzer nicht verwendet werden

Gruppen können in einem virtuellen Benutzer nicht verwendet werden

Ich versuche, einige virtuelle Benutzer in Puppet einzurichten. Die Basisbenutzer funktionieren einwandfrei, aber aus irgendeinem Grund schlägt der Lauf fehl, wenn ich versuche, der Benutzerdefinition „Gruppen“ hinzuzufügen.

Hier ist die grundlegende virtuelle Benutzerkonfiguration ...

class users::virtual {
    define localuser ($uid,$gid) {

            user { $title:
                    ensure  =>      "present",
                    uid     =>      $uid,
                    gid     =>      $gid,
                    shell   =>      "/bin/bash",
                    home    =>      "/home/$title",
                    comment =>      $realname,
                    managehome =>   true,
            }
      }
}

und hier wird ein Benutzer aufgerufen...

class my::users {
include users::virtual
    @users::virtual::localuser { "jdehnert": 
    uid =>  "504",
    gid =>  "users",
    groups  =>  ["wheel", "rvm"],
    require =>  Group["rvm"],
    }
}

die init.pp ist ...

class people {
include my::users
realize (
    Users::Virtual::Localuser["jdehnert"],
    )
}

Wenn ich auf einem Client einen Test --noop ausführe, erhalte ich auf dem Client diese Meldung ...

# puppetd --test --noop
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1.

und dieses hier auf dem Server...

Aug 23 04:29:38 centos63 puppet-master[21713]: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1

Wenn ich die Zeile „Gruppen“ herausziehe, funktioniert diese Konfiguration einwandfrei.

Ich habe auch festgestellt, dass ich den Parameter „Gruppen“ problemlos übergeben kann, wenn ich einfach eine einfache Benutzerressource erstelle. Warum funktioniert es also nicht mit einem virtuellen Benutzer?

Danke,

James „Zeke“ Dehnert
[email geschützt]

Antwort1

Da verstehst Du etwas falsch:

@users::virtual::localuser { "jdehnert": 
uid =>  "504",
gid =>  "users",
groups  =>  ["wheel", "rvm"],
require =>  Group["rvm"],
}

Oben deklarieren Sie ein localuser, das folgendermaßen definiert ist:

define localuser ($uid,$gid) {

Das bedeutet,nurDie empfangenen Parameter sind uidund giddie Metaparameter (wie require). Da weder ein Metaparameter noch offensichtlich noch groupsist, ist es ungültig.uidgid

verwandte Informationen