![login ssh - executar comando - sair](https://rvso.com/image/515688/login%20ssh%20-%20executar%20comando%20-%20sair.png)
existe uma maneira de apenas executar um comando (ou script) no login de um usuário (ssh) e depois sair? algum tipo de substituição do shell padrão por um script personalizado.
eu quero que um usuário só possa reiniciar um serviço, mas não tenha acesso regular ao shell
obrigado
Responder1
A maneira que você deseja fazer isso é usando chaves ssh e definindo o comando associado à chave no arquivo .ssh/authorized_keys do usuário. Um rápido google me dáesse, especificamente a seção "Comando forçado".
Editar: a segunda parte disso é para passwd -l
o usuário, para que o login baseado em senha seja impossível.
Responder2
No Ubuntu consegui criar um script que reiniciou o serviço. Então, na entrada /etc/passwd do usuário, defino o script como o shell de login (o último campo).
de /etc/passwd:
conta de teste:x:1001:1001:1,,:/home/contadeteste:/home/contadeteste/login.sh
Responder3
Algo parecido?
root@admin:~ # ssh root@www 'df -h'
Filesystem Size Used Avail Use% Mounted on
/dev/ubda 3.5G 2.1G 1.4G 61% /
tmpfs 96M 4.0K 96M 1% /dev/shm