LINUX.ORG.RU

не работает плейбук при копировании sshd config

 ,


0

1

Машина ансибль:

CentOS 6( 2.6.32-754.35.1.el6.x86_64)
Python версии 2.6
Ansible версии 2.6

Тестовая машина

CentOS 7(CentOS Linux release 7.9.2009 (Core)
 3.10.0-1160.11.1.el7.x86_64)
-Python 2.7.5

как я добавил пользователя на тестовую машину:

groupadd -g 590 www
groupadd -g 591 playbookuser
adduser -u 690 -g 591 playbookuser
usermod -a -G www playbookuser
mkdir -p /home/playbookuser/.ssh/
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAA==">> /home/playbookuser/.ssh/authorized_keys
chmod 600 /home/playbookuser/.ssh/authorized_keys
chown -R playbookuser.playbookuser /home/playbookuser/
In /etc/sudoers addet "playbookuser ALL=(ALL) NOPASSWD:ALL"

Создаём плейбук , добавляем :

---
 - hosts: all
   become: yes
   become_method: sudo
   gather_facts: no
   tasks:
     - name: backup sshd config
       copy:
         src: /etc/ssh/sshd_config
         dest: /etc/ssh/sshd_config.bak
         backup: yes

Ansible подключается по ssh к тестовой машине и выполняет команды от пользователя playbookuser Но playbook не работает, в чем проблема, подскажите пожалуйста? Если вы запускаете ту же команду от пользователя в консоли с префиксом sudo , то все в порядке. Ошибка на выходе : MSG:

an error occurred while trying to read the file '/etc/ssh/sshd_config': [Errno 13] Permission denied: '/etc/ssh/sshd_config'
  to retry, use: --limit @/var/lib/****/workspace/test_adm_deploy/174/backup_sshd%20_config.retry

.

Ответ на: комментарий от adn

лог -vvv

ansible-playbook 2.6.20 config file = /etc/ansible/ansible.cfg configured module search path = [u’/var/lib/****/.ansible/plugins/modules’, u’/usr/share/ansible/plugins/modules’] ansible python module location = /usr/lib/python2.6/site-packages/ansible executable location = /usr/bin/ansible-playbook python version = 2.6.6 (r266:84292, Jun 20 2019, 14:14:55) [GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] Using /etc/ansible/ansible.cfg as config file Parsed /etc/ansible/hosts inventory source with ini plugin

PLAYBOOK: backup_sshd%20_config.yml ******************************************** 1 plays in /var/lib/****/workspace/test_adm_deploy/174/backup_sshd%20_config.yml

PLAY [all] ********************************************************************* META: ran handlers

TASK [backup sshd config] ****************************************************** task path: /var/lib//workspace/test_adm_deploy/174/backup_sshd%20_config.yml:8 <10.1.1.1> ESTABLISH SSH CONNECTION FOR USER: playbookuser <10.1.1.1> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=playbookuser -o ConnectTimeout=10 -o ControlPath=/var/lib//.ansible/cp/564dafde30 10.1.1.1 ‘/bin/sh -c ‘"’«‘echo ~playbookuser && sleep 0’»’«'' <10.1.1.1> (0, ‘/home/playbookuser\n’, '') <10.1.1.1> ESTABLISH SSH CONNECTION FOR USER: playbookuser <10.1.1.1> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=playbookuser -o ConnectTimeout=10 -o ControlPath=/var/lib/****/.ansible/cp/564dafde30 10.1.1.1 ’/bin/sh -c ’»‘"’( umask 77 && mkdir -p " echo /home/playbookuser/.ansible/tmp/ansible-tmp-1614772480.52-161867114281849 " && echo ansible-tmp-1614772480.52-161867114281849=" echo /home/playbookuser/.ansible/tmp/ansible-tmp-1614772480.52-161867114281849 " ) && sleep 0’«’»'' <10.1.1.1> (0, ‘ansible-tmp-1614772480.52-161867114281849=/home/playbookuser/.ansible/tmp/ansible-tmp-1614772480.52-161867114281849\n’, '') fatal: [10.1.1.1]: FAILED! => {}

MSG:

an error occurred while trying to read the file ‘/etc/ssh/sshd_config’: [Errno 13] Permission denied: ‘/etc/ssh/sshd_config’ to retry, use: –limit @/var/lib/****/workspace/test_adm_deploy/174/backup_sshd%20_config.retry

PLAY RECAP ********************************************************************* 10.1.1.1 : ok=0 changed=0 unreachable=0 failed=1

script returned exit code 2

Alexsql ()
Ответ на: комментарий от spock74

а где именно? в плейбуке указываю

become: yes

become_method: sudo

gather_facts: no

он запускает выполнение команды с префиксом sudo для пользователя playbookuser


на тестовой машине я ввожу к примеру команду

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

и все работает

но через плейбук не работает

Alexsql ()