Эта проблема довольно озадачивает меня, и мне сложно сформулировать правильные вопросы. Итак, под моими самыми лучшими усилиями. Я рад, если вы поможете мне улучшить этот вопрос.Chocolatey не может получить доступ к общей папке Windows на Synology Diskstation, если вызван из Ansible
Справочная информация: Я управляю программным обеспечением, установленным на клиентах Windows 10 через Chocolatey, которое в свою очередь вызывается удаленно Ansible. Хранилище Chocolatey Packages находится в общей папке Windows на NAS. Я впервые столкнулся с проблемой второго прыжка, которая была успешно решена с помощью билетов на kerberos (см. https://github.com/ansible/ansible/issues/15682). Клиенты и Synology присоединяются к домену AD.
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что если репозиторий является общим ресурсом Windows на Synology Diskstation, Chocolatey не видит пакеты, если удаленно удален через Ansible. Команда действительно успешно выполняется, но возвращает пустой список. Если одна и та же команда (список choco) вызывается локально, все в порядке. Если репозиторий находится на общем ресурсе, размещенном в NAS OpenMediaVault (OMV), он работает с Ansible, но только если опция Samba разрешает гостевой доступ включен. Я попытался найти аналогичные настройки в Synology. Я включил гостевой доступ, который также работает, поскольку клиенты могут подключаться к общему ресурсу без предоставления имени пользователя/пароля.
Используя Wireshark, я обнаружил, что при запуске списка choco локально указывается имя пользователя/домен (который ожидается). Если команда вызывается удаленно через Ansible, то не указывается имя пользователя/домен (значение NULL) (что на самом деле не ожидалось). Это объясняет, почему он работает на OMV, только если разрешен гостевой доступ.
В настоящее время я вижу два возможных пути решения:
Получить удаленно выполненную команду Choco для отправки пользовательских учетных данных при доступе доли (предпочитаемое решение как более безопасный)
- Как настроить удаленно исполняемые сценарии PowerShell (например, использование Chocolatey) для использования user-/domainname от пользователя, выполняющего сценарий при подключении к общей папке?
Получить Synology DiskStation, чтобы принять имя пользователя, без имени пользователя также из удаленно исполняемых скриптов
- Это действительно озадачивает меня больше всего. Гостевой доступ в принципе работает, так как я могу подключиться к общим ресурсам, где пользователь Гость разрешен из ящиков Linux и Windows без запроса пароля/имени пользователя.
- У кого-нибудь есть идея, почему он не работает, если команда choco вызывается удаленно и как ее исправить?
Я с радостью предоставлю вам дополнительную информацию ...
Привет, Мэтт, Большое спасибо за быстрый ответ! Это действительно работает! Мы действительно с нетерпением ожидаем лучшей поддержки WinRM в Ansible! Отличная работа! –