summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-09-17 11:14:11 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-09-17 11:14:11 -0400
commit2563b59598c5be20a2b03f6091969575d52f2a7a (patch)
tree5b66030985435c112c1a440fbf2f318605754095 /tools
parentcf71e7dcc6dc1dee8709f0e9b2453ad76759b633 (diff)
downloadbcfg2-2563b59598c5be20a2b03f6091969575d52f2a7a.tar.gz
bcfg2-2563b59598c5be20a2b03f6091969575d52f2a7a.tar.bz2
bcfg2-2563b59598c5be20a2b03f6091969575d52f2a7a.zip
posixusers_baseline.py: Handle users with nonexistent primary groups
Diffstat (limited to 'tools')
-rwxr-xr-xtools/posixusers_baseline.py11
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])