ssh login - execute o comando - exit

2

existe uma maneira de executar um comando (ou script) em um login de 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 ter acesso regular ao shell

obrigado

    
por bmaeser 09.06.2010 / 12:43

3 respostas

3

A maneira que você deseja fazer isso é usando as chaves ssh e definir o comando associado à chave no arquivo .ssh / authorized_keys do usuário. Um rápido google me dá este , especificamente a seção "Comando forçado".

Edit: A segunda parte disso é para passwd -l do usuário, para que o login baseado em senha seja impossível.

    
por 09.06.2010 / 13:18
6

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:

testaccount: x: 1001: 1001: 1 ,: / home / testaccount: /home/testaccount/login.sh

    
por 09.06.2010 / 12:56
2

Algo assim?

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
    
por 09.06.2010 / 12:47

Tags