2012-08-08 77 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需要(备份?)权限,并且只能在以管理员身份运行时才能完成。