
私は見てきましたこの質問Defaults env_keep+=SSH_AUTH_SOCK
をファイルに追加しましたが、Vagrant ボックスのとAnsible プレイブックを/etc/sudoers
使用して github からクローンすることはできません。実行するために作成したユーザーとしてコードをクローンしたいのですが、非常にイライラしています。経由でログインするとできますが、その場合、権限が拒否されましたというエラーが表示されます。特定のユーザーとして値をエコーすると、次のように設定されていることがわかります。sudo: true
sudo_user: <user>
ssh [email protected]
vagrant ssh
sudo -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]
ルートはファイルを読み込めるので、うまくいくかもしれない
これを修正するには、vagrantユーザーとして以下を実行します。
setfacl -m otheruser:x $(dirname "$SSH_AUTH_SOCK")
setfacl -m otheruser:rwx "$SSH_AUTH_SOCK"
これによりotheruser
、ディレクトリにアクセスしてファイルを読み取る権限が付与されるはずです。