2012-08-08 75 views
2

我有以下特權的路徑:(Windows Server 2003中)CACLS.EXE使用

E:\MY_PATH     BUILTIN\Administrators:(OI)(CI)F 
          NT AUTHORITY\SYSTEM:(OI)(CI)F 
          BUILTIN\Administrators:F 
          CREATOR OWNER:(OI)(CI)(IO)F 
          BUILTIN\Users:(OI)(CI)R 
          BUILTIN\Users:(CI)(special access:) 
               FILE_APPEND_DATA 

          BUILTIN\Users:(CI)(special access:) 
               FILE_WRITE_DATA 

在這條道路有,我不能修改或刪除一個文本文件:我只能追加行。

我想知道如何授予寫入此文件一段時間,然後返回到原始設置。

這是一個日誌文件,它變得太大了,所以我想省略舊的行,只保留最近的1000行。

但我沒有權限刪除行或刪除文件。

請幫忙。

預先感謝您。

我剛讀過CACLS /?但我不明白如何使用這個命令。

+1

你能成爲管理員嗎?您的打印輸出表示管理員已完全控制。 – Ryan 2012-08-14 09:33:28

回答

2

我不太清楚你想如何解決問題。
爲什麼你不給用戶總是修改日誌的權利?如果管理員需要更改ACL,那他爲什麼不編輯日誌文件?日誌服務/應用程序運行時日誌可以被編輯嗎?

這麼多的問題,現在我的答案。我將使用icacls,而不是cacls。

授予權:
icacls logfilename /grant *S-1-5-32-545:(WD)

要刪除的權利(這隻能如果授予ACL條目是在該文件的用戶的唯一一個!):
icacls logfilename /remove *S-1-5-32-545

我在上面的調用中使用SID而不是名稱,因爲SID獨立於操作系統語言,並且在您的英語Windows和德語Windows上工作相同。

如果你想保存,恢復邏輯,你可以保存文件的ACL調用
icacls logfilename /save aclsavefile
和恢復使用
icacls . /restore aclsavefile

正如你所看到的ACL,節能要求的文件名和恢復要求文件夾名稱(文件名存儲在aclsavefile中並從那裏獲取)。注意:在Windows 7上恢復ACL需要(備份?)權限,並且只能在以管理員身份運行時才能完成。