
Ich habe ein Modul zum Einrichten einer neuen Gruppe mithilfe der folgenden Dokumentation konfiguriert:https://puppet.com/docs/puppet/latest/types/group.html.
[root@puppetmaster ~]# cat /etc/puppet/modules/change-groups/manifests/init.pp
class change-groups {
group { "newgroup":
gid => 3651,
members => "user1,user2",
}
}
Leider erhalte ich eine Fehlermeldung. Was kann das sein?
info: /Group[newgroup]: Provider groupadd does not support features manages_members; not managing attribute members
Antwort1
Basierend aufDokumentation:
Gruppen verwalten. Auf den meisten Plattformen können hiermit nur Gruppen erstellt werden.Die Gruppenmitgliedschaft muss für einzelne Benutzer verwaltet werden.
Auf einigen Plattformen wie OS X wird die Gruppenmitgliedschaft als Attribut der Gruppe und nicht als Benutzerdatensatz verwaltet. Anbieter müssen über die Funktion „manages_members“ verfügen, um die Eigenschaft „members“ eines Gruppendatensatzes verwalten zu können.
Das istnotorischfunktioniert nicht auf Linux-Plattformen, die groupadd/groupmod/groupdel verwenden, um Gruppen zu bearbeiten - sieheUpstream-Problem Nr. 1298.
Da ist einAlternativer Gruppenanbietervon der Portland State University, die die Gruppendatei bearbeiten kann.
Eine andere Möglichkeit besteht darin, Augeas zum Verwalten der Gruppendatei zu verwenden.
Antwort2
Die Standardgruppenanbieter in der Puppet-Distribution enthalten keinen, der Gruppenmitgliedschaften verwalten kann. Jemand an der Portland State University hat jedoch dieselbe Funktionalität benötigt und codierteinige benutzerdefinierte Anbieter. Was Sie hiervon benötigen, ist die Datei ggroupadd.pp
, die Sie einfügen möchten /etc/puppet/modules/custom/lib/puppet/provider/group
(passen Sie sie entsprechend an, um den Speicherort Ihres benutzerdefinierten Modulverzeichnisses widerzuspiegeln).
Der neue Anbieter „ggroupadd“ verwaltet Gruppen, sodass alles, was Sie in das Mitgliedsattribut eingeben, /etc/group
auch in die Datei gelangt.
Antwort3
Sieht so aus, als hätten die Puppet-Betreuer nie Unterstützung dafür bereitgestellt. Ich schaue mir die Groupadd-Funktionalität in den Ruby-Bibliotheken an und es scheint eine Kombination aus schlampigem Code und/oder unvollständigem Code zu sein.