Вот выдержка из файла /etc /passwd на удаленной машине.
root:x:0:0:root:/root:/bin/bash
valid:x:0:0::/home/valid:/bin/rbash
Как видите, valid - это альтернативное имя для root.
Я могу SSH к любой из учетных записей с помощью обычной команды SSH:
ssh root@remoteMachine
[...]
# whoami
root
# pwd
/root
а также
ssh valid@remoteMachine
[...]
> whoami
<command unknown>
> pwd
<command unknown>
(мы отключили команды с помощью rbash)
Теперь, однако, при подключении к remoteMachine от имени пользователя "valid" с помощью libssh, удаленно работающий whoami
возвращает root
, а pwd
возвращает /home/admin
. Также кажется, что оболочка, в которой все работает, это rbash (находится с помощью ps -ef | grep tototototo
)
Вопрос: это какая-то ошибка в libssh, или это ошибка в ssh, которая не появится в командной строке ssh?