Запускать скрипт от имени определенного пользователя - в зависимости от членства в группе

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

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

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

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

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

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

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

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

0 ответов

Другие вопросы по тегам