Я намагаюся запустити сценарій, який викликає інший сервер через SSH (через ключ Pub / Priv). Однак залежно від користувача (або, краще сказати, його членства в групі), який керує сценарієм через sudo, я хотів би викликати сценарій як користувач, який має відповідні ключі для доступу до сервера. Таким чином користувачі зможуть отримати доступ до віддаленого сервера, не маючи можливості бачити сам ключ.
Отже, двоє користувачів із відповідними групами:
- Джо: розгорнути_виробництво
- Джон: розгорнути_прийняття
Чи є спосіб, який:
- якщо Джо запускає скрипт через
sudo scriptте, що сценарій запускається підdeploy_productionкористувачем - якщо Джон запускає сценарій через
sudo scriptте, що сценарій виконується підdeploy_acceptanceкористувачем
Примітка. scriptПотрібно використовувати лише білий список, щоб не дозволяти користувачам користуватися ключовими файлами sudo-cat'ing.
Примітка: я б краще не хотів використовувати -u <user>параметр sudo.
Обґрунтування: це дозволить мені легко контролювати доступ, не вимагаючи клацання ssh-ключа кожного користувача на сервери, на яких вони дозволені. Отже, якщо я хочу видалити доступ до сервера для певного користувача, я би видалив його з однієї з груп. Якщо є кращий підхід, ніж запропонований нами варіант із використанням судо, будь ласка, поради.
script що-небудь фантазійне, воно повинно залишатися агностиком до всього цього дозволу.
psта переглядати користувача батьківського піду поточного процесу?