我需要使用Win32 API來創建具有特定權限的文件夾。正如我一直在瀏覽文檔,我發現兩個例子似乎是合理的:使用SDDL或手動創建安全描述符的區別?
這個例子創建一個
DACL
使用SDDL,它增加了一個SECURITY_ATTRIBUTES
結構,並用它來創建一個文件夾:此示例手動指定
SID_IDENTIFIER_AUTHORITY
,PSID
,EXPLICIT_ACCESS
結構(包括ACCESS_MASK
等),TRUSTEE
,依此類推,直到所得SECURITY_ATTRIBUTES
結構被應用到新的對象(註冊表項,在這個例子的情況下):
在我看來,使用SDDL是更容易使用和更小的bug容易,一旦你過去粗糙的語法。
這兩種方法之間有什麼區別?哪種在工業中更常用?
就最終結果而言,沒有區別。手動方法稍微快一點,但除非你試圖每秒產生一千個安全描述符,這並不重要。一些應用程序使用手動方法的主要原因是代碼是在SDDL存在之前編寫的。 –
...儘管如果有輸入參數,即「如果您事先不知道安全描述符將需要什麼」,那麼有時可以更清楚地構建安全描述符「手動」。 –