Это можно сделать с помощью файла учетных данных и 3 Ansible задач.
Сначала создайте файл учетных данных (например, /home/youruser/smbshare.cred
), содержащий имя пользователя и пароль учетной записи службы с разрешениями для монтирования Общий ресурс CIFS:
username=your_service_account_name
password=your_service_account_password
Убедитесь, что ваш удаленный пользователь ansible владеет файлом (или root, если вы используете становление) и у него есть разрешения 0400. Возможно, в будущем вы захотите сгенерировать этот файл учетных данных с помощью Ansible и / или зашифровать его с помощью Ansible Vault.
Задача 1. Используйте модуль монтирования для монтирования SMB поделиться на целевом объекте.
- name: Mount SMB share
mount:
path: /mnt/smbshare
src: '\\\\Winserver\\Share_Binary'
fstype: cifs
opts: 'credentials=/home/youruser/smbshare.cred'
state: mounted
Задача 2: Используйте модуль копирования , чтобы скопировать файл туда, куда вы действительно хотите.
- name: Copy installer tarball to target
copy:
src: /mnt/smbshare/Installer-v6.tar.gz
dest: /some/local/path/Installer-v6.tar.gz
owner: foo
group: foo
mode: 0640
Задача 3: Использование модуль монтирования для размонтирования общего ресурса SMB.
- name: Unmount SMB share
mount:
path: /mnt/smbshare
state: unmounted
Примечание. В зависимости от среды может потребоваться добавить дополнительные параметры монтирования (см. справочную страницу mount.cifs (8)) к opts:
параметр в задании 1.