icacls C:\TEMP\A /deny administrators:(OI)(CI)(DE,DC,WD,AD) /T
要取回異動的指命如下
icacls C:\TEMP\A /remove:d administrators /T
當然也可以利用右鍵選單->內容->安全性->逐一設定權限,但不論是對指令,或是用滑鼠點選,太複雜也太繁鎖了,所以,我們就藉由 reg 檔來把上述的指令包進去,在右鍵選項上,建立兩個新的項目 Lock Folder 及 UnlockFolder。
LockFolder.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\lockfolder] @="Lock Folder" [HKEY_CLASSES_ROOT\Directory\shell\lockfolder\command] @="icacls %1 /deny administrators:(OI)(CI)(DE,DC,WD,AD) /T"
UnlockFolder.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\unlockfolder] @="Unlock Folder" [HKEY_CLASSES_ROOT\Directory\shell\unlockfolder\command] @="icacls %1 /remove:d administrators /T"
檔案可由 Github 直接下載。直接註冊這兩個 reg 檔,就可以使用了。
1. 在目錄 A 的右鍵選單點 Lock Folder
2. 測試檔案,果然不能刪除。
3. 用 icacls 查看檔案及目錄的 DACLs
4. 紅色框就是 Lock Folder 加入的設定
5.Unlock Folder 解除鎖定
6. 再檢查檔案及目錄的 DACLs,可以發現,已經沒有剛加入的設定了。
7. 此時就可以正常刪除檔案及目錄。
這裡用到的 icacls 指令說明如下
LockFolder:
icacls %1 /deny administrators:(OI)(CI)(DE,DC,WD,AD) /T
/deny: Explicitly denies administrators access rights (OI): object inherit (CI): container inherit DE: delete DC: delete child WD: write data/add file AD: append data/add subdirectory /T: all specified files in the current directory and its subdirectories.
Unlock Folder:
icacls %1 /remove:d administrators /T
/remove:d removes all occurrences of denied rights to administrators /T: all specified files in the current directory and its subdirectories.
注意:
此處用 administrators 這個 ID 作 DACLs 設定的對象,如果系統有作過不同的 ID 權限,則必需另外指定合適的 ID ,可將兩個檔案中的 administrators 修改成新的 ID。
沒有留言:
張貼留言