From 1b4c27db6ba998b256380cd4f86c3f9bdf1110f6 Mon Sep 17 00:00:00 2001 From: Chris Lumens Date: Wed, 12 Sep 2007 19:53:58 +0000 Subject: Make the default group of a new user be the one created with their username. Modify entries for all the other groups a user should be in to make that work. --- users.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'users.py') diff --git a/users.py b/users.py index b4b29a3e3..b5b8ef2db 100644 --- a/users.py +++ b/users.py @@ -67,12 +67,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 @@ -101,9 +99,15 @@ class Users: if lock: self.admin.lockUser(userEnt) + # Add the user to all the groups they should be part of. + 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, useMD5, lock): rootUser = self.admin.lookupUserByName("root") -- cgit