Ansible, Бродяга, sudo и ssh-агент

Таким образом, я видел этот вопрос и добавил Defaults env_keep+=SSH_AUTH_SOCK в мой /etc/sudoers файл, но я все еще не могу клонироваться от GitHub на моем использовании поля Vagrant sudo: true и sudo_user: <user> в моем ansible сборнике пьес. Я хотел бы клонировать код как пользователь, которого я создал для выполнения его, но это оказывается действительно печальным. Я могу сделать ssh git@github.com когда я регистрируюсь на пути vagrant ssh но когда я затем делаю sudo -u <user> ssh git@github.com Я получаю Разрешение Отклоненная ошибка. Когда я отзываюсь эхом SSH_AUTH_SOCK оцените как определенный пользователь, я вижу, что это установлено:

vagrant@vagrant-ubuntu-trusty-64:/tmp$ sudo -u derp echo $SSH_AUTH_SOCK
/tmp/ssh-w3XYbqlMnX/agent.1592
0
задан 13 April 2017 в 15:14
1 ответ

Я думаю, проблема в том, что у файла / tmp нет разрешений. Если вы

 sudo -u root ssh git@github.com

Это может сработать, поскольку root может читать файлы

. Чтобы исправить это, когда бродячий пользователь запускает

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

Это должно дать права другому пользователю войти в каталог и прочитать файл.

3
ответ дан 4 December 2019 в 12:26

Теги

Похожие вопросы