0

在实现一段代码以获取所有者和组的 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

我错过了什么吗?我试图理解这段代码,但我无法找出任何明显的错误。

4

0 回答 0