Ответ 1
Проблема заключается в том, что www-data
не может получить доступ к тем же файлам, которые был создан для вашего пользователя, не использующего root, который вы использовали для подключения к машине. Кроме того, сообщение об ошибке четко указывает на документацию, содержащуюся в документации, в которой описываются, какие параметры вы должны устранить при обновлении от версии 2.0 или ниже.
Они предлагают три способа правильно исправить проблему:
- Используйте конвейерную обработку. Когда конвейеризация включена, Ansible не сохраняет модуль во временном файле на клиенте. Вместо этого он подключает модуль к удаленным интерпретаторам python stdin. Конвейерная обработка не работает для модулей, отличных от python.
- Установить поддержку acl для файловой системы на управляемом хосте. Если временный каталог на удаленном хосте монтируется с включенной файловой системой acls, а инструмент setfacl находится в удаленном PATH, то Ansible будет использовать файлы acls для обмена файлом модуля со вторым непривилегированным, вместо того, чтобы сделать файл доступным для чтения всем.
- Не выполняйте действия на удаленном компьютере, становясь непривилегированным пользователем. Временные файлы защищены правами доступа к файлам UNIX, когда вы становитесь root или не используете start. В Ansible 2.1 и выше разрешения на файлы UNIX также безопасны, если вы подключаетесь к управляемой машине с правами root, а затем используете ее в непривилегированную учетную запись.
Или, если вы не можете выполнить какие-либо из этих исправлений, то вы можете принудительно заставить его работать немного более небезопасным способом (который, по-видимому, был по умолчанию недоступен 2 и ниже), что также должно устранить вашу проблему, но не будет устранить основной риск для безопасности:
Если вы не можете внести какие-либо изменения, описанные выше, чтобы решить эту проблему, и вы решили, что работающий на компьютере компьютер достаточно безопасен для модулей, которые вы хотите запустить там, чтобы быть читаемым в мире, вы можете включить
allow_world_readable_tmpfiles
вansible.cfg
файл. Установкаallow_world_readable_tmpfiles
изменит это значение с ошибки на предупреждение и позволит выполнить задачу, как это было до 2.1.