Запустити сценарій як певний користувач - залежно від належності групи


1

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

Отже, двоє користувачів із відповідними групами:

  • Джо: розгорнути_виробництво
  • Джон: розгорнути_прийняття

Чи є спосіб, який:

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

Примітка. scriptПотрібно використовувати лише білий список, щоб не дозволяти користувачам користуватися ключовими файлами sudo-cat'ing.

Примітка: я б краще не хотів використовувати -u <user>параметр sudo.

Обґрунтування: це дозволить мені легко контролювати доступ, не вимагаючи клацання ssh-ключа кожного користувача на сервери, на яких вони дозволені. Отже, якщо я хочу видалити доступ до сервера для певного користувача, я би видалив його з однієї з груп. Якщо є кращий підхід, ніж запропонований нами варіант із використанням судо, будь ласка, поради.


Ви повинні мати змогу знайти абонента psта переглядати користувача батьківського піду поточного процесу?
вересня

Я мав би додати, що я не можу змінити script що-небудь фантазійне, воно повинно залишатися агностиком до всього цього дозволу.
hbogert
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.