用icacls命令解决Windows10权限难题
2021-08-09闽人
闽人
大家在Windows 10中訪问某些系统文件时经常会遇到由于没有权限造成无法访问的情况,虽然可以手动更改权限实现对它们的访问,但这样也容易带来安全隐患。那么有没有在不降低安全性的前提下更改系统文件权限的方法呢?答案是肯定的。而且还不需要安装专业的软件,使用系统自带的icacls命令就可以。
比如在使用命令行重置登录账户密码时,我们需要先将系统文件夹中的程序重命名(如将“osk.exe”重命名为“osk1.exe”),不过默认我们并没有执行重命名操作的权限(图1)。
常规的解决方法是右击该程序并依次选择“属性→安全”,然后手动更改它的所有权和权限设置,不仅操作步骤较多,而且更改后有些朋友也不知道如何恢复为默认设置。假如现在再执行同样的操作,我们可以先用icacls命令备份原有的权限设置,然后再进行后续的操作,步骤如下:
1以管理员身份启动命令提示符,依次输入下列的命令(每输入一行命令都需要回车确认,下同)(图2):
icacls osk.exe /save d:\osk.txt /t /c
takeown /f osk.exe /a|icacls osk.exe /grant administrators:F
2执行完上述的命令后,我们就可以进行重命名了。如果需要恢复“osk.exe”的原有权限设置,继续以管理员身份启动命令提示符,然后依次输入下列的命令(图3):
icacls c:\windows\system32\osk.exe /setowner "NTSERVICE\TrustedInstaller"
icacls c:\windows\system32\ /restore d:\osk.txt /t /c
命令解释:
第一行命令是将程序的所有者重新设置为默认的“TrustedInstaller”账户(实际输入时要写成“NT SERVICE\Tr uste dInstall er”);第二行命令是将备份的权限设置重新恢复到原程序中,这里要注意路径为原程序的上一级(如C:\Windows\System32\Osk.exe的上一级目录为C:\Windows\System32\)。
3完成上述的操作后,我们再打开程序的高级安全设置界面,对比一下前后的变化。可以看到,“osk.exe”的所有者重新变为TrustedInstaller,Administrators组账户也只有“读取和执行”的权限(System32文件夹中的程序其默认安全设置均是如此)(图4)。