Você pode permitir que ele se conecte ao seu servidor via SSH, como um usuário regular e, em seguida, dê a ele direitos de sudo estritamente para a ação que você quer que ele execute.
Você deve adicionar um novo grupo para isso (vamos nomear serviços por enquanto):
sudo addgroup services
Adicione o usuário do seu cara a esse grupo:
sudo adduser your_guy_user services
Edite /etc/sudoers.d/services e adicione uma entrada para o grupo de serviços:
%services ALL=(ALL) /usr/sbin/service
%services ALL=(ALL) /usr/bin/service mysqld *
%services ALL=(ALL) /path-to/screen
Salve o arquivo, peça ao seu cara para fazer o login via ssh e tente reiniciar o serviço mysql.
Se você quiser restringir os comandos que ele pode usar, você deve alterar as permissões para esses comandos:
/ bin / ping - por padrão tem 755 permissões (o proprietário tem rwx , o grupo tem rx , outro tem rx ) para que o comando possa ser executado por todos. Se você não quer que o comando ping esteja disponível para o seu cara, então faça um chmod 750 /bin/ping
. Desta forma, apenas o usuário root e a raiz do grupo terão direitos de execução para esse comando. Este é apenas um exemplo, você pode extrapolar daqui.
Então, no final, o usuário tem que ser capaz de acessar o seu servidor via SSH para reiniciar o serviço. Claro, isso pode ser conseguido de outras maneiras diferentes, como ter um script python que atua como um servidor web para que o usuário se conecte e faça login com um nome de usuário e uma senha e emita o comando restart (o script pode estar em python, perl, php), mas isso requer codificação e realmente criar o script.
Então eu iria com a primeira opção.