在虚拟机中使用 Cygwin,我运行了这个命令
setfacl --remove-all /cygdrive/c
之后我注意到了这条消息:
C:\ is not accessible.
Access is denied.
我通过恢复快照撤消了此更改。然后我运行了这个命令
setfacl --remove-default /cygdrive/c
这并没有拒绝访问驱动器,但它确实在此后创建的任何文件夹上放置了一个锁定图标。
假设我在虚拟机之外运行这些命令,那么无需重新安装 Windows 就可以解决这些问题吗?
答案1
我相信以下命令可以修复它。setfacl 删除权限后,您需要暂时取得 的所有权C:\
,恢复权限,然后重新设置所有者。当然,这取决于事先备份权限,或者从干净的虚拟机转移权限。
cd /cygdrive/c
icacls . /save acl.txt
setfacl --remove-all .
takeown /f .
icacls . /grant users:f
icacls acl.txt /grant users:f
icacls . /restore acl.txt
icacls . /setowner 'NT SERVICE\TrustedInstaller'