Aqui está um trecho do arquivo / etc / passwd em uma máquina remota.
root:x:0:0:root:/root:/bin/bash
valid:x:0:0::/home/valid:/bin/rbash
Como você pode ver, válido é um nome alternativo para raiz.
Eu posso ssh para qualquer uma das contas com um comando ssh regular:
ssh root@remoteMachine
[...]
# whoami
root
# pwd
/root
e
ssh valid@remoteMachine
[...]
> whoami
<command unknown>
> pwd
<command unknown>
(desativamos os comandos com o rbash)
Agora, no entanto, ao conectar-se ao remoteMachine como usuário "válido" com libssh, a execução remota whoami
retorna root
e pwd
retorna /home/admin
. Também parece que o shell que roda em tudo é rbash (encontrado com ps -ef | grep tototototo
)
A pergunta é: isso é algum tipo de bug no libssh, ou é um bug no ssh que não aparece na linha de comando ssh?