становиться пользователем с командой sudo rooth -i -u root, ansible - PullRequest
0 голосов
/ 10 октября 2019

У меня есть вопрос о том, как запускать команды от имени пользователя root. Playbook действительно прост, создайте папку и после этого смените владельца и группу

  - name: install-home-db | Create scatch directory only if it is needed
    become: yes
    file:
      path: "{{ scratch_patch }}/oracle_{{ db_version | replace('.', '_') }}"
      mode: 775
      owner: "{{ oracle_user }}"
      group: "{{ oracle_group }}"
      state: directory
    register: oracle_medias

Папка создается без проблемы, проблема возникает, когда она хочет настроить пользователя и группу

На удаленном сервере у меня нет прав на запуск какой-либо команды sudo, но я могу стать пользователем root, если команда запуска

sudo rootsh -i -u root

Обратите внимание, что я могу стать пользователем root, только если использую эту команду, если я запускаютолько

sudo rootsh -u root

Не работает и возвращает

Sorry, user fcruzloz is not allowed to execute '/usr/bin/rootsh -u root' as root on dcplnx22121944.

Так как же я могу запустить команду, используя пользователя root? Я попытался установить параметры ниже в ansible.cfg

[defaults]
host_key_checking             = false
# ask_pass                    = True
inventory                     = inventory/hosts
allow_world_readable_tmpfiles = true
remote_user                   = fcruzloz
executable                    = /bin/bash
timeout                       = 50


[privilege_escalation]
become_exe                    = sudo rootsh
become_user                   = root
become_flags                  = -i

Но он все еще не работает, потому что разрешения, при запуске команды ansible с -vvv, я думаю, что строка виновника ниже 1

<2a00:da9:2:21ca:111:0:427:1> SSH: EXEC ssh -o ControlMaster=no -o ServerAliveInterval=50 -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="fcruzloz"' -o ConnectTimeout=50 -tt 2a00:da9:2:21ca:111:0:427:1 '/bin/bash -c '"'"'sudo rootsh -i  -u root /bin/bash -c '"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-eybzqcaxfeytghcwykijkpeqdlpzphdq ; /usr/bin/python /home/admin/fcruzloz/.ansible/tmp/ansible-tmp-1570663425.52-9612101629719/AnsiballZ_file.py'"'"'"'"'"'"'"'"' && sleep 0'"'"''
Escalation succeeded

И это имеет смысл при проверке ошибок в / var / log / messages

2019-10-09T16:24:15.472458-07:00 dcplnx22121944 sudo: fcruzloz : command not allowed ; TTY=pts/14 ; PWD=/home/admin/fcruzloz ; USER=root ; COMMAND=/usr/bin/rootsh -i -u root /bin/bash -c echo BECOME-SUCCESS-eybzqcaxfeytghcwykijkpeqdlpzphdq ; /usr/bin/python /home/admin/fcruzloz/.ansible/tmp/ansible-tmp-1570663425.52-9612101629719/AnsiballZ_file.py
2019-10-09T16:24:15.625928-07:00 dcplnx22121944 sshd[16027]: Connection closed by 2a00:da9:ffa0:8601::2

Если я запускаю команду ansible непосредственно на сервере, я имею в виду что-то вроде ниже (это не совсем та же команда), этотерпит неудачу

fcruzloz@dcplnx22121944:/home/admin/fcruzloz> sudo rootsh -i  -u root /bin/bash -c 'echo test'
Sorry, user fcruzloz is not allowed to execute '/usr/bin/rootsh -i -u root /bin/bash -c echo test' as root on dcplnx22121944.

Я думаю, мне нужно сделать что-то вроде перенаправления команды в новую корневую оболочку, но я не смог этого сделать, я попытался с openvt, но я не получил это

Таку тебя есть идея? Большое спасибо заранее за вашу помощь

Мой контроль обработки ниже вкуса linux

NAME="SLES"
VERSION="12-SP2"
VERSION_ID="12.2"
PRETTY_NAME="SUSE Linux Enterprise Server 12 SP2"
ID="sles"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:12:sp2"
SUSE Linux Enterprise Server 12 (x86_64)
VERSION = 12
PATCHLEVEL = 2

1 Ответ

0 голосов
/ 29 октября 2019

вы пробовали 'становиться_пользователем'

  become: yes
  become_method: su
  become_user: root

обратитесь к ссылке , чтобы понять методы повышения привилегий в ansible.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...