1

Я пытаюсь запустить скрипт, который вызывает другой сервер через SSH (через ключ Pub/Priv). Однако в зависимости от пользователя (или, точнее, от его / ее членства в группе), который запускает скрипт через sudo, я бы хотел вызвать скрипт как пользователя, который имеет соответствующие ключи для доступа к серверу. Таким образом, пользователи смогут получить доступ к удаленному серверу без возможности видеть сам ключ.

Итак, два пользователя с соответствующими группами:

  • Джо:deploy_production
  • Джон:deploy_acceptance

Есть ли способ, который:

  • если Джо запускает сценарий через сценарий sudo script , то сценарий запускается под пользователем deploy_production
  • если Джон запускает сценарий через сценарий sudo script , сценарий запускается от имени пользователя deploy_acceptance

Примечание. Только белый script должен быть в белом списке, чтобы пользователи не могли sudo-cat'ить файлы ключей.

Примечание: я бы не хотел использовать опцию -u <user> в sudo.

Обоснование: это обеспечило бы мне простое управление доступом без необходимости помещать ssh-ключ каждого пользователя на серверы, на которых им разрешено. Поэтому, если я хочу удалить доступ к серверу для определенного пользователя, я бы удалил его из одной из групп. Если есть лучший подход, чем предложенное мной решение с использованием sudo, пожалуйста, совет.

0