[PATCH] Fix user --groups kickstart option (bug #454418)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux