Почему основная группа локальных администраторов отображается как пользователи домена {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.

Другие вопросы по тегам