Ist es möglich, einen vorhandenen Benutzer mit Puppet 2.7.18 zu einer Gruppe hinzuzufügen?
Wir haben zwei Module, von denen jedes eine Klasse definiert:
- Modul "Benutzer" erstellt alle Benutzer, einschließlich Benutzer foo und Benutzerleiste.
- Modul "Subversion" befasst sich mit verschiedenen Conf-Dateien und erstellt Gruppe svn.
Wir möchten Benutzer foo zur Gruppe svn im Modul "subversion" hinzufügen.
Ich habe den Mitgliedschaftsparameter wie in der vorhandenen Funktionsanforderung beschrieben ausprobiert :
group {
"svn":
ensure => present,
gid => xxxxx;
}
user {
"foo":
group => ["svn"],
membership => minimum;
}
Aber ich bekomme folgenden Fehler:
Fehler: Katalog konnte nicht vom Remote-Server abgerufen werden: Fehler 400 auf SERVER: Doppelte Deklaration: Benutzer [foo] ist bereits in der Datei /pathto/modules/subversion/manifests/init.pp in Zeile xx deklariert. kann unter /pathto/modules/users/manifests/init.pp:xxx auf dem Knoten myserver.example.com nicht erneut deklariert werden
Ist diese Funktion bereits implementiert? Wenn nicht, gibt es eine gute Lösung?
Die virtuellen Ressourcen von Puppet sind der richtige Weg, dies zu tun. Wenn Sie jedoch die Benutzerdefinitionen nicht ändern können und in der Zwischenzeit eine Problemumgehung benötigen, ist Folgendes furchtbar und schwierig, funktioniert aber:
Im Wesentlichen überprüfen wir nur, ob eine Gruppe noch Benutzer foo enthält. Wenn nicht, verwenden Sie die normalen usermod-Befehle, um sie zusätzlich zu den vorhandenen Gruppen hinzuzufügen, zu denen foo gehört.
quelle
getent group somegroup|cut -d: -f4|grep -q foo
davon auszugehen, dass wir es verwenden/etc/group
.path
Parameter angeben . Ich schlage vor, einen globalen Standard für Ressourcen zu haben, der möglicherweise$PATH
von facter herrührt.Danke - hässlicher Hack sicher, aber es wird die Arbeit erledigt. Hier ist ein Beispiel mit Pfaden (kombiniert die obigen Kommentare), um 'nrpe' zur 'nagios'-Gruppe hinzuzufügen. Ich habe eine Paketanforderung verwendet, da der Benutzer hier nicht von einer Marionette, sondern von der Drehzahl abhängig ist.
quelle