示例#1
0
 def GetExpectedUser(self, algo, user_store, group_store):
     user = rdf_client.User(username="******",
                            full_name="User",
                            uid="1001",
                            gid="1001",
                            homedir="/home/user",
                            shell="/bin/bash")
     user.pw_entry = rdf_client.PwEntry(store=user_store, hash_type=algo)
     user.gids = [1001]
     grp = rdf_client.Group(gid=1001, members=["user"], name="user")
     grp.pw_entry = rdf_client.PwEntry(store=group_store, hash_type=algo)
     return user, grp
示例#2
0
 def ParseGroupEntry(self, line):
     """Extract the members of a group from /etc/group."""
     fields = ("name", "passwd", "gid", "members")
     if line:
         rslt = dict(zip(fields, line.split(":")))
         name = rslt["name"]
         group = self.entry.setdefault(name, rdf_client.Group(name=name))
         group.pw_entry.store = self.GetPwStore(rslt["passwd"])
         if group.pw_entry.store == self.base_store:
             group.pw_entry.hash_type = self.GetHashType(rslt["passwd"])
         # If the group contains NIS entries, they may not have a gid.
         if rslt["gid"]:
             group.gid = int(rslt["gid"])
         group.members = set(rslt["members"].split(","))