Отменить изменения setfacl
Используя 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'