Позвольте пользователю выполнять единственную команду как корень по ssh

Debian и производные (Ubuntu, Монетный двор, и т.д.) использование /usr/bin/x-terminal-emulator, который является символьной ссылкой, управляемой системой альтернатив debian так, чтобы она всегда указывала на предпочтительный эмулятор терминала системы.

Это не помогает Вам с RHEL, Fedora, Slackware или многими другими дистрибутивами, но можно проверить на существование /usr/bin/x-terminal-emulator сначала при реализации ответа Radu.

3
28.04.2014, 16:00
2 ответа
[117912] Если вы хотите избежать любого другого возможного взаимодействия с сервером, одним из способов является создание выделенной учетной записи с вашей командой в качестве оболочки соединения. Например, пользовательская "перезагрузка" с uid 0 и /sbin/reboot в качестве оболочки соединения.

Оболочка командной строки может быть меню скриптов, которое позволяет выбирать между опциями; таким образом, вы можете использовать sudo и избежать UID 0 для скриптинга учетной записи

Меню здесь

Гораздо более простой пример использования функции bash select на StackOverflow

Лучше аутентифицироваться с помощью персональных ключей ssh, таким образом, вы будете знать, кто перезагружает сервер.[117919].

1
27.01.2020, 21:31
[113186]Как я это делаю, он запускает web-сервер-скрипт*, выполняемый root'ом и который выполняет только те команды, которые вам нужны (как меню, предложенное Эммануэлем). Затем, вы можете защитить его, используя пароль или брандмауэр для ограничения доступа к нему. *web-сервер-скрипт: это может быть [113583]небольшой perl скрипт[113584] (используя HTTP::Daemon), [113585]маленький java веб-сервер[113586], или что-нибудь еще, запущенный в не общем порту (например, выше 1000).[113189].
0
27.01.2020, 21:31

Теги

Похожие вопросы