Вы можете разрешить ему подключаться к вашему серверу через SSH как обычный пользователь, а затем предоставить ему права sudo строго для действия, которое вы хотите, чтобы он выполнял.
Вы должны добавить новую группу для этого (назовем это пока services):
sudo addgroup services
Добавьте пользователя вашего парня в эту группу:
sudo adduser your_guy_user services
Отредактируйте /etc/sudoers.d/services и добавьте запись для группы услуг:
%services ALL=(ALL) /usr/sbin/service
%services ALL=(ALL) /usr/bin/service mysqld *
%services ALL=(ALL) /path-to/screen
Сохраните файл, попросите вашего парня войти в систему через ssh и попробуйте перезапустить службу mysql.
Если вы хотите ограничить команды, которые он может использовать, вы должны изменить разрешения для этих команд:
/ bin / ping - по умолчанию имеет 755 разрешений (владелец имеет rwx , группа имеет rx , остальные имеют rx ), поэтому команда может быть выполнена любым пользователем. Если вы не хотите, чтобы команда ping была доступна для вашего парня, сделайте chmod 750 /bin/ping
. Таким образом, только пользователь root и корень группы будут иметь права на выполнение этой команды. Это всего лишь пример, вы можете экстраполировать отсюда.
Таким образом, в конце пользователь должен иметь возможность войти на ваш сервер через SSH, чтобы перезапустить эту службу. Конечно, это может быть достигнуто другими различными способами, такими как наличие сценария Python, который действует как веб-сервер, так что пользователь подключается к нему, входит в систему с именем пользователя и паролем и выполняет команду restart (сценарий может быть на python, perl, php) но это требует кодирования и создания сценария.
Так что я бы пошел с первым вариантом.