Você pode permitir que ele se conecte ao seu servidor via SSH, como um usuário comum e, em seguida, conceda a ele direitos de sudo estritamente para a ação que deseja 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 grupo 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ê deverá 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 quiser que o comando ping esteja disponível para o seu cara, 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.
Assim, no final, o usuário precisa fazer o login no seu servidor via SSH para reiniciar esse 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 lá e faça login com um nome de usuário e 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.