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