summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
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])