public static IEnumerable <Group> GetGroups(string user) { AccountInfo info = StdLibC.GetPwNamAsAccountInfo(user); if (info == null) { yield break; } int numGroups = 0; int[] groupIdArray = new int[numGroups]; StdLibC.getgrouplist(user, info.GroupID, groupIdArray, ref numGroups); groupIdArray = new int[numGroups]; StdLibC.getgrouplist(user, info.GroupID, groupIdArray, ref numGroups); foreach (var groupId in groupIdArray) { yield return(StdLibC.GetGrGidAsGroup(groupId)); } }
///<summary> /// Gets information on the specified user such as real name, shell and home directory. /// http://linux.die.net/man/3/getpwnam ///</summary> public static AccountInfo GetAccountInfo(string user) { return(StdLibC.GetPwNamAsAccountInfo(user)); }