У нас есть жалобы «с мест» (то есть от системных администраторов, устанавливающих программное обеспечение), что cygwin «искажает» разрешения Windows в NTFS (Windows 7/10/2008/2012 и т. д.).
Проблема использования
Общий вариант использования таков:
- Сисадмин запускает какой-то «установщик программного обеспечения» из строки cmd cygwin bash
- Установщик работает нормально
- Сисадмин пытается запустить службы Windows
Результат: служба не запускается
Шаги обхода
Эти шаги, похоже, решают проблему:
Системный администратор сбрасывает разрешения ntfs с помощью команды Windows ICACLS: (в этом примере «acme» — это вновь созданный каталог. Эта команда устанавливает acme и его дочерние элементы для повторного наследования разрешений из папки «d:\instances»
d:\instances> icacls acme /RESET /T /C /Q
Сисадмин запускает службу
Результат: служба Windows запускается
Вопрос
- Что заставляет cygwin обрабатывать разрешения для вновь написанных файлов иначе, чем powershell? Дело в неправильной версии umask?
- Может ли системный администратор предпринять шаги заранее, чтобы убедиться, что cygwin правильно устанавливает разрешения?
заранее спасибо