From 2563b59598c5be20a2b03f6091969575d52f2a7a Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 17 Sep 2013 11:14:11 -0400 Subject: posixusers_baseline.py: Handle users with nonexistent primary groups --- tools/posixusers_baseline.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'tools') 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]) -- cgit v1.2.3-1-g7c22