Це ідея для цінного паперу. Наші співробітники повинні мати доступ до деяких команд на сервері Linux, але не до всіх. Вони, наприклад, повинні мати можливість отримати доступ до файлу журналу ( less logfile
) або запускати різні команди ( shutdown.sh
/ run.sh
).
Довідкова інформація:
Усі співробітники отримують доступ до сервера з однаковим іменем користувача: Наш продукт працює із "звичайними" дозволами користувача, ніякого "встановлення" не потрібно. Просто розпакуйте його в папці користувача та запустіть. Ми управляємо кількома серверами, де "встановлено" наш додаток. На кожній машині є користувач johndoe
. Нашим працівникам іноді потрібен доступ до програми в командному рядку для доступу та перевірки файлів журналів або для ручного перезапуску програми. Лише деякі люди мають повний доступ до командного рядка.
Ми використовуємо аутентифікацію ppk на сервері.
Було б чудово, якби співробітник1 мав доступ лише до журналу, а працівник2 також міг робити X тощо ...
Рішення:
Як рішення я буду використовувати command
варіант, як зазначено у прийнятій відповіді. Я зроблю власний маленький сценарій оболонки, який буде єдиним файлом, який можна виконати для деяких співробітників. Сценарій запропонує кілька команд, які можна виконати, але ніяких інших. Я буду використовувати наступні параметри в authorized_keys
з, як зазначено тут :
command="/bin/myscript.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
ssh-dss AAAAB3....o9M9qz4xqGCqGXoJw= user@host
Це достатня безпека для нас. Спасибі, громадо!