2017-09-11 2 views
0

패커를 사용하여 사용자 지정 가상 컴퓨터를 만듭니다. 빌드가 끝난 후 포스트 프로세서를 사용하고 싶습니다. 인라인 명령을 사용하여 간단하게 유지하려고합니다. 그러나 그들 중 일부는 sudo가 필요합니다. 이 문제는 제가 직면 한 문제입니다 - 나는 execute_command가 제대로 작동하는 것처럼 보이지 않습니다.패커 셸 로컬 포스트 프로세서 권한

현재 내가 가진 무엇 :

"post-processors": [ 
    { 
     "type":"shell-local", 
     "execute_command": "echo 'password' | sudo", 
     "inline": ["command 1", "command 2", "sudo command 3"] 
    } 
    ] 

이 결과 :

==> vmware-iso: Running post-processor: shell-local 
==> vmware-iso (shell-local): Post processing with local shell script: /tmp/packer-shell867480064 
    vmware-iso (shell-local): usage: sudo -h | -K | -k | -V 
    vmware-iso (shell-local): usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user] 
    vmware-iso (shell-local): usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] 
    vmware-iso (shell-local): [command] 
    vmware-iso (shell-local): usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p 
    vmware-iso (shell-local): prompt] [-u user] [VAR=value] [-i|-s] [<command>] 
    vmware-iso (shell-local): usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p 
    vmware-iso (shell-local): prompt] [-u user] file ... 

사람이 내가 그것을 작동하게하는 execute_command을 구현하는 방법에 대한 아이디어가 있습니까?

답변

0

암호를 sudo로 파이프하지 마십시오.

당신이 암호없이 실행해야 대신하는 경우 (NOPASSWD) sudo는 구성 sudo는 그것을 허용합니다. 또한 !requiretty이 필요한지 확인하십시오. sudoers.conf을 참조하십시오.