diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-09-17 11:14:11 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-09-17 11:14:11 -0400 |
commit | 2563b59598c5be20a2b03f6091969575d52f2a7a (patch) | |
tree | 5b66030985435c112c1a440fbf2f318605754095 /tools/posixusers_baseline.py | |
parent | cf71e7dcc6dc1dee8709f0e9b2453ad76759b633 (diff) | |
download | bcfg2-2563b59598c5be20a2b03f6091969575d52f2a7a.tar.gz bcfg2-2563b59598c5be20a2b03f6091969575d52f2a7a.tar.bz2 bcfg2-2563b59598c5be20a2b03f6091969575d52f2a7a.zip |
posixusers_baseline.py: Handle users with nonexistent primary groups
Diffstat (limited to 'tools/posixusers_baseline.py')
-rwxr-xr-x | tools/posixusers_baseline.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/posixusers_baseline.py b/tools/posixusers_baseline.py index c45e54f1a..4c78a757e 100755 --- a/tools/posixusers_baseline.py +++ b/tools/posixusers_baseline.py @@ -46,8 +46,8 @@ def main(): config = lxml.etree.parse(setup['file']).getroot() else: config = lxml.etree.Element("Configuration") - users = POSIXUsers(logging.getLogger('posixusers_baseline.py'), - setup, config) + logger = logging.getLogger('posixusers_baseline.py') + users = POSIXUsers(logger, setup, config) baseline = lxml.etree.Element("Bundle", name="posixusers_baseline") for entry in users.FindExtra(): @@ -59,7 +59,12 @@ def main(): continue entry.set(attr, str(data[idx])) if entry.tag == 'POSIXUser': - entry.set("group", grp.getgrgid(data[3])[0]) + try: + entry.set("group", grp.getgrgid(data[3])[0]) + except KeyError: + logger.warning("User %s is a member of nonexistent group %s" % + (entry.get("name"), data[3])) + entry.set("group", str(data[3])) for group in users.user_supplementary_groups(entry): memberof = lxml.etree.SubElement(entry, "MemberOf", group=group[0]) |