Назад | Перейти на главную страницу

Права доступа к файлам - Сервис или Консоль

Мы только что установили сервер Windows 2008 R2 новой сборки для нашей системы Jenkins CI. Наша проблема, похоже, связана с тем, что права доступа к файлам различаются в зависимости от того, является ли процесс службой или консольным процессом.

При входе в систему как UserX мы можем успешно выполнить список каталогов dir /b c:\Windows\System32\q*.exe (фактическая команда) и возвращает 6 файлов. Однако, запустив ту же команду через службу, мы получим только 5. Такая же учетная запись пользователя. Тот же компьютер.

Более серьезная проблема заключается в том, что, поскольку файл не отображается в списке каталогов, он не может быть выполнен.

Похоже, что нет никаких различий в разрешениях между файлами, которые появляются, и теми, которые не отображаются.

Любые идеи?

Мы разобрались с этой проблемой, поэтому я публикую решение для других.

Проблема заключалась в том, что подчиненный процесс Jenkins (служба) выполнялся как 32-битный процесс. Windows, будучи полезной, автоматически перенаправляла доступ к c: \ Windows \ System32 на c: \ Windows \ SysWOW64.

Исполняемые файлы, которые мы искали, в любом случае должны были находиться в SysWOW64, поэтому мы скопировали их, и проблема была решена.