【问题标题】:(Windows Server 2003) CACLS.EXE usage(Windows Server 2003) CACLS.EXE 用法
【发布时间】:2012-08-08 10:54:03
【问题描述】:

我的路径具有以下权限:

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 /?但是我不明白如何使用这个命令。

【问题讨论】:

  • 你能成为管理员吗?您的打印输出表明管理员拥有完全控制权。

标签: windows-server-2003 cacls


【解决方案1】:

我不太确定你想如何解决这个问题。
你为什么不给用户总是修改日志的权利呢?如果管理员需要更改 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 需要(备份?)权限,并且只能在以管理员身份运行时完成。

【讨论】:

    猜你喜欢
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多