Так я видел этот вопрос и добавил Defaults env_keep+=SSH_AUTH_SOCK
в мой /etc/sudoers
файл, но я все еще не могу клонировать из github в моем ящике Vagrant, используя sudo: true
и sudo_user: <user>
в моем доступном сценарии. Я хотел бы клонировать код как пользователь, которого я создал для его запуска, но это действительно разочаровывает. я могу сделать ssh git@github.com
когда я вхожу через vagrant ssh
но когда я тогда сделаю sudo -u <user> ssh git@github.com
Я получаю сообщение об ошибке 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 git@github.com
Это может сработать, поскольку root может читать файлы
Чтобы исправить это, когда бродячий пользователь запустил
setfacl -m otheruser:x $(dirname "$SSH_AUTH_SOCK")
setfacl -m otheruser:rwx "$SSH_AUTH_SOCK"
Это должно дать otheruser
права попасть в каталог и прочитать файл.