Ansible, Vagrant, sudo 및 ssh-agent

Ansible, Vagrant, sudo 및 ssh-agent

그래서 내가 봤어이 질문Defaults env_keep+=SSH_AUTH_SOCK내 파일에 추가했지만 여전히 내 Ansible 플레이북을 사용 하여 /etc/sudoers내 Vagrant 상자의 github에서 복제할 수 없습니다 . 코드를 실행하기 위해 내가 만든 사용자로 코드를 복제하고 싶지만 정말 실망스럽습니다. 를 통해 로그인하면 할 수 있지만 로그인하면 권한 거부 오류가 발생합니다. 특정 사용자로 값을 에코하면 해당 값이 설정되어 있음을 알 수 있습니다.sudo: truesudo_user: <user>ssh [email protected]vagrant sshsudo -u <user> ssh [email protected]SSH_AUTH_SOCK

vagrant@vagrant-ubuntu-trusty-64:/tmp$ sudo -u derp echo $SSH_AUTH_SOCK
/tmp/ssh-w3XYbqlMnX/agent.1592

답변1

문제는 /tmp 파일에 권한이 없다는 것입니다. 만약 너라면

 sudo -u root ssh [email protected]

루트가 파일을 읽을 수 있기 때문에 작동할 수 있습니다.

방랑자 사용자 실행으로 이 문제를 해결하려면

setfacl -m otheruser:x   $(dirname "$SSH_AUTH_SOCK")
setfacl -m otheruser:rwx "$SSH_AUTH_SOCK"

otheruser그러면 디렉토리에 들어가서 파일을 읽을 수 있는 권한이 부여됩니다 .

관련 정보