Oracle База данных Docker изображение, получающее sudo: pam_open_session с Ansible - PullRequest
0 голосов
/ 03 марта 2020

Я использую Vagrant и Ansible для настройки официальной Oracle базы данных 12.1.0.2-ee, работающей на Docker.

Контейнер работает, соединение s sh установлено, и Ansible может подключиться к контейнеру как root и как бродячие пользователи.

При попытке подключения как oracle, Я получаю следующее сообщение об ошибке:

fatal: [oracle]: FAILED! => {
"changed": false,
"module_stderr": "Shared connection to 127.0.0.1 closed.\r\n",
"module_stdout": "sudo: pam_open_session: Permission denied\r\nsudo: policy plugin failed session initialization\r\n",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1

}

cat /etc/os-release 
NAME="Oracle Linux Server"
VERSION="7.7"

Я пытался добавить следующие инструкции в свой Dockerfile:

RUN usermod -aG wheel oracle \
  && sed -i 's/session.*include.*system-auth//g' /etc/pam.d/su \
  && sed -i 's/session.*include.*system-auth//g' /etc/pam.d/sudo \
  && sed -i 's/auth.*include.*system-auth//g' /etc/pam.d/su \
  && sed -i 's/auth.*include.*system-auth//g' /etc/pam.d/sudo

В журналах Ansible я вижу следующие инструкции:

sudo -H -S -n -u root / bin / sh => Эскалация выполнена успешно

<127.0.0.1> SSH: EXEC ssh -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o     
IdentityFile=/LOCAL_PATH/.vagrant/machines/default/docker/private_key 
-o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o Port=2222 -o 
IdentityFile="LOCAL_PATH/.vagrant/machines/default/docker/private_key"' -o 
KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,
hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=30 -o 
ControlPath=/USER_HOME/.ansible/cp/055b8f4af0 -tt 
127.0.0.1 '/bin/sh -c '"'"'sudo -H -S -n  -u root /bin/sh -c '"'"'"'"'"'"'"'"'echo 
BECOME-SUCCESS-sujwsvhjtsxvtngoudlcdcecaumcnrwn ; 
/usr/bin/python /home/vagrant/.ansible/tmp/ansible-tmp-1583230413.0734274-21323839197510/AnsiballZ_setup.py'"'"'"'"'"'"'"'"' && sleep 0'"'"''

sudo -H -S -n -u oracle / bin / sh => sudo: pam_open_session: В доступе отказано

<127.0.0.1> SSH: EXEC ssh -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o 
IdentityFile=/LOCAL_PATH/.vagrant/machines/default/docker/private_key 
-o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o Port=2222 -o 
'IdentityFile="/LOCAL_PATH/.vagrant/machines/default/docker/private_key"' -o 
KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,
hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=30 -o 
ControlPath=/USER_HOME/.ansible/cp/055b8f4af0 127.0.0.1 '/bin/sh -c '"'"'rm -f -r 
/var/tmp/ansible-tmp-1583230420.6367478-37780571683963/ > /dev/null 2>&1 && sleep 0'"'"''
<127.0.0.1> (0, b'', b'')

Есть идеи, откуда оно может прийти?

Спасибо.

Фред.

...