Почему основная группа локальных администраторов отображается как пользователи домена {S-1-5-21-<домен>-513}
У меня есть текстовый файл, владельцем которого является локальный администратор.
Когда я запускаю следующий код:
public static void CheckPermissions(string filePath)
{
FileSecurity acl = new FileInfo(filePath).GetAccessControl();
IdentityReference group = acl.GetGroup(typeof(SecurityIdentifier));
IdentityReference owner = acl.GetOwner(typeof(SecurityIdentifier));
}
Это показывает:
group = {S-1-5-21-<domain>-513} // DOMAIN_USERS group
owner = {S-1-5-21-<domain>-500} // Local Administrator
То
GetGroup
функция в соответствии с Microsoft :
Получает основную группу, связанную с указанным владельцем.
Но основная группа, связанная с локальным администратором,
Domain Users
?
РЕДАКТИРОВАТЬ:
Когда я проверил графический интерфейс, он показывает две группы:
1 ответ
Я запутался в терминах.
Функция согласно Microsoft :
Gets the primary group associated with the specified owner.
В
GetOwner
функция в соответствии с Microsoft :
Gets the owner associated with the specified primary group.
Так что кажется, что ничего плохого в вопросе не было.
Просто нужно понимать, что означают функции.
Например,
GetGroup
получает основную группу, связанную с указанным владельцем .
Таким образом, если владельцем является, например, группа локальных администраторов , то владельцем будет
SYSTEM
и вы получите:
Group: SYSTEM {S-1-5-18}
Owner: Built In Administrators: {S-1-5-32-544}
Основная группа не видна через графический интерфейс Windows. Чтобы изменить его, вам нужно использовать
SetGroup
.