所以我已经看到了这个问题 ,并将Defaults env_keep+=SSH_AUTH_SOCK到我的/etc/sudoers文件中,但是仍然无法使用sudo: true和sudo_user: <user>在我的ansible playbook中从我的Vagrant框中的github克隆。 我想克隆代码作为我创build的用户来运行它,但它被certificate是非常令人沮丧的。 当我通过vagrant sshlogin时,我可以做ssh [email protected] ,但是当我做sudo -u <user> ssh [email protected]我得到Permission Denied错误。 当我回显SSH_AUTH_SOCK值作为特定的用户,我看到它被设置:
vagrant@vagrant-ubuntu-trusty-64:/tmp$ sudo -u derp echo $SSH_AUTH_SOCK /tmp/ssh-w3XYbqlMnX/agent.1592
我认为问题是/ tmp文件没有权限。 如果你
sudo -u root ssh [email protected]
这可能工作,因为根可以读取文件
为了解决这个作为stream浪者用户运行
setfacl -m otheruser:x $(dirname "$SSH_AUTH_SOCK") setfacl -m otheruser:rwx "$SSH_AUTH_SOCK"
这应该让其他otheruser权限进入目录并读取文件。