我的路径具有以下权限:
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
在此路径中有一个我无法修改或删除的文本文件:我只能追加行。
我想知道如何给这个文件赋予Write一段时间,然后再恢复到原来的设置。
它是一个日志文件,并且变得太大,因此我想忽略较旧的行,只保留最近的 1000 行。
但我没有删除行或删除文件的权限。
请帮忙。
提前谢谢您。
我刚刚读过 CACLS/?但我不明白如何使用这个命令。
最佳答案
我不太确定你想如何解决这个问题。
为什么不直接赋予用户随时修改日志的权利呢?如果管理员需要更改 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
并使用
恢复ACL
icacls . /restore aclsavefile
如您所见,保存需要文件名,恢复需要文件夹名称(文件名存储在 aclsavefile 中并从那里获取)。注意:在 Windows 7 上恢复 ACL 需要(备份?)权限,并且只能在以管理员身份运行时才能完成。
关于windows-server-2003 - (Windows Server 2003) CACLS.EXE 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11863005/