Patch ported from fedora, additionally user is added into created default group, as specified in documentation. --- users.py | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/users.py b/users.py index adefad8..b1219ff 100644 --- a/users.py +++ b/users.py @@ -78,12 +78,10 @@ class Users: userEnt = self.admin.initUser(name) groupEnt = self.admin.initGroup(name) - gidLst = map(lambda grp: grp.get(libuser.GIDNUMBER)[0], - filter(lambda grp: grp, - map(lambda name: self.admin.lookupGroupByName(name), groups))) - gidLst.extend(groupEnt.get(libuser.GIDNUMBER)) - - userEnt.set(libuser.GIDNUMBER, gidLst) + grpLst = filter(lambda grp: grp, + map(lambda name: self.admin.lookupGroupByName(name), groups)) + userEnt.set(libuser.GIDNUMBER, [groupEnt.get(libuser.GIDNUMBER)[0]] + + map(lambda grp: grp.get(libuser.GIDNUMBER)[0], grpLst)) if not homedir: homedir = "/home/" + name @@ -111,9 +109,16 @@ class Users: cryptPassword(password, salt=salt), True) + # Add the user to all the groups they should be part of. + grpLst.append(self.admin.lookupGroupByName(name)) + for grp in grpLst: + grp.add(libuser.MEMBERNAME, name) + self.admin.modifyGroup(grp) + # Now set the correct home directory to fix up passwd. userEnt.set(libuser.HOMEDIRECTORY, homedir) self.admin.modifyUser(userEnt) + return True def setRootPassword(self, password, isCrypted, salt=None): rootUser = self.admin.lookupUserByName("root") -- 1.5.4.3 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list