以下是远程计算机上 /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 禁用了这些命令)
但是,现在,当使用 libssh 以用户“valid”身份连接到 remoteMachine 时,remote-runningwhoami
将返回root
,并pwd
返回/home/admin
。似乎所有程序运行的 shell 都是 rbash(使用 找到ps -ef | grep tototototo
)
问题是:这是 libssh 中的某种错误,还是 ssh 中的错误,不会出现在命令行 ssh 中?