При реализации фрагментного кода для извлечения ACE для владельца и группы я использую этот код в качестве источника вдохновения.
Чтобы протестировать этот код, я создал файл в папке.
В командной строке с повышенными привилегиями я запускаю приложение (exe, созданное из приведенного выше кода) с именем файла в качестве ввода и вижу вывод, как показано ниже
C:\>C:\Users\user\Documents\VS2017\Project4\Debug\Project4.exe C:\Deny\file.txt
file:C:\Deny\file.txt
Owner: DOMAIN/user
Group: DOMAIN/user
::DACL::
GetAce Output : 1
SID: DOMAIN/user
ACE: mask:2032127 sidStart:1281 header type=1 header flags=0
DELETE
FILE_GENERIC_READ
FILE_GENERIC_WRITE
FILE_GENERIC_EXECUTE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
SYNCHRONIZE
::SECURITY_DESCRIPTOR_CONTROL::
SE_DACL_PRESENT
SE_DACL_PROTECTED
SE_SELF_RELATIVE
Я щелкаю правой кнопкой мышитот же файл и в настройках безопасности я запрещаю все права доступа к файлу для одного и того же пользователя.
Я снова запускаю приложение для этого файла и все равно получаю тот же вывод
C:\>C:\Users\user\Documents\VS2017\Project4\Debug\Project4.exe C:\Deny\file.txt
file:C:\Deny\file.txt
Owner: DOMAIN/user
Group: DOMAIN/user
::DACL::
GetAce Output : 1
SID: DOMAIN/user
ACE: mask:2032127 sidStart:1281 header type=1 header flags=0
DELETE
FILE_GENERIC_READ
FILE_GENERIC_WRITE
FILE_GENERIC_EXECUTE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
SYNCHRONIZE
::SECURITY_DESCRIPTOR_CONTROL::
SE_DACL_PRESENT
SE_DACL_PROTECTED
SE_SELF_RELATIVE
Я что-то упустил?Я пытался понять этот код, и я не мог понять какие-либо очевидные ошибки.