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
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(","))