我正在使用軟體專案的自動化測試套件。我有一個自動化測試案例,應該驗證在找到特定檔案時程式碼是否正常運作,但程式沒有適當的權限來讀取該檔案的內容。該測試案例目前在 Linux 和 macOS 上運行,但我正在嘗試讓它在 Windows 上也運行。
該文件由測試進程創建,修改為刪除讀取權限,然後程式碼嘗試讀取該文件,測試驗證程式碼是否按預期方式失敗。測試運行後,將恢復權限(如有必要),並刪除檔案。
在 Linux 和 macOS 上,讀取權限被 刪除chmod 000 unreadable.txt
,這使得每個人(root 除外)都無法讀取該檔案。我試圖在 Windows 上找到類似的解決方案,在其中我可以使用命令列工具使當前用戶無法讀取此測試文件,因此測試的程式可能會失敗。
根據我的理解,像這樣的命令icacls unreadable.txt /deny 'Everyone:(RC)'
應該可以解決問題。icacls
確認拒絕規則:
Everyone:(DENY)(Rc,S)
但我仍然擁有讀取該文件的完全訪問權限。
我已經嘗試了各種調用 和 的咒語,icacls
以及cacls
嘗試明確拒絕我的特定用戶帳戶的不同組合,等等。
我開始想知道,Windows 中是否不可能禁止文件的擁有者讀取它?
或者,如果可能的話,我需要什麼命令列來使文件所有者無法讀取?