2014-08-29 3 views
4

에 나는 ansible에서 다음 작업을해야합니다. 하지만 내 사용자는 물론얻기 루트 권한은 ansible

Sorry, user sofiab is not allowed to execute '/bin/sh -c echo SUDO-SUCCESS-amlzcqzchzpjsgkllckjhjfednpjgevj; LANG=C LC_CTYPE=C /usr/bin/python /home/sofiab/.ansible/tmp/ansible-tmp-1409321488.66-202796192861545/file; rm -rf /home/sofiab/.ansible/tmp/ansible-tmp-1409321488.66-202796192861545/ >/dev/null 2>&1' as root 

, 내가 서버에 sudo -s을 수행 할 때 난 모든 권리 권한을 가지고 있지만 어떻게 든 ansible와 함께 작동하지 않습니다와는 실패 sudoer 임에도 불구하고.

왜 그런가?

답변

3

문제는 내가/bin/sh을 실행할 권한이 없다는 것이 었습니다. 실행 파일을/bin/bash로 설정해야했습니다. 이것은 ansible의 config 파일에서 수행 할 수 있습니다. 그래서 현재 디렉토리에서 다음 내용으로 anatile.cfg 파일을 만들었습니다 :

executable = /bin/bash 

그리고 그게 전부입니다!

1

sudo 액세스 권한이 충분하지 않은 것 같습니다. 일부 명령은 Ansible에서 실패하기 때문입니다. sudo로 아래 명령을 실행 해보고 원격 호스트에서 성공적으로 실행할 수 있는지 알아볼 수 있습니까?

그 중 하나라도 작동하지 않으면 해당 명령을 sudoers 파일에 추가해야합니다.

+1

예, 실제로 그랬습니다. 나는/bin/sh를 사용할 수있는 권한이 없지만 sudoers 파일에 추가 할 수는 없었습니다 (그것은 큰 회사이고 그것이 내 결정이 아닙니다). 그래서 단지 책임있는 설정 파일에서 쉘을 변경했습니다. – Sofia