문제

리모트 호스트에서 특정 명령 ( rosdep )을 실행하는 스크립트에서 ansible을 사용하고 있습니다.이 명령은 루트가 아닌 일반 사용자로 실행해야하지만 때때로 소프트웨어를 설치하기위한 루트 권한을 얻기 위해 사용자에게 sudo 암호를 묻는 메시지를 표시합니다.

원격 명령을 실행하는 동안 해당 암호 프롬프트에 해당 암호 프롬프트에 응답하도록 할 수있는 방법이 있습니까?sudo로 전체 명령을 실행하고 싶지 않으므로 -k 옵션 이이 목적으로 작동하지 않습니다.

도움이 되었습니까?

해결책

해당 특정 명령이 암호 프롬프트없이 sudo를 통해 실행되도록 sudoers 파일을 수정하는 것을 고려하십시오.

가장 좋은 방법이 아니라 가장 단순하지만 가장 좋은 방법은 다음을 사용할 것입니다 :

tessa    ALL=NOPASSWD: ALL
.

모든 명령은 암호 프롬프트없이 sudo를 통해 실행할 수 있습니다.

더 나은 접근 방식은 sudo 권한이 필요한 특정 명령을 알아 내고 sudoers 파일에 추가하는 것입니다.

예 :

tessa    ALL=NOPASSWD:/usr/bin/whoami
.

ansible playbook의 일부로 수정 된 /etc/sudoers 파일 / 템플릿을 배송 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top