![是否可以授予非特权用户对 SYSTEM 任务的只读权限?](https://linux22.com/image/1548103/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E6%8E%88%E4%BA%88%E9%9D%9E%E7%89%B9%E6%9D%83%E7%94%A8%E6%88%B7%E5%AF%B9%20SYSTEM%20%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%8F%AA%E8%AF%BB%E6%9D%83%E9%99%90%EF%BC%9F.png)
我有一个必须以系统帐户身份运行的计划任务,但我想允许非特权用户查看它。
具体来说,我希望用户能够查看/获取特定任务的上次运行时间和状态。显然,他们需要知道名称/位置。他们不应该对此有任何控制权,也没有理由需要查看所有计划任务或甚至此任务的其他属性(尽管这样做也可以)。
这可能吗?如果可以,怎么做?
如果不是,原因可能是什么?这似乎不是一个安全风险。
谢谢。
答案1
解决方案是授予文件夹中任务文件的读取权限%SystemRoot%\System32\Tasks
。这可以通过 GUI 以管理员身份完成,但我使用以 SYSTEM(或管理员)身份运行的 PowerShell 脚本来完成:
$TaskFile = Join-Path $env:SystemRoot "System32\Tasks\$TaskName"
if (Test-Path $TaskFile) {
$Acl = get-acl -Path $TaskFile
$rule = New-Object -TypeName system.security.accesscontrol.filesystemaccessrule -ArgumentList ('Authenticated Users','Read','Allow')
$Acl.setaccessrule($rule)
set-acl -Path $TaskFile -AclObject $Acl
}
希望这对某人有帮助。