Отменить изменения 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'
Другие вопросы по тегам