Answers:
在ssh运行您在远程用户的外壳提供的命令(从所获得的/etc/passwd),作为可见从源代码:
argv[0] = (char *) shell0;
argv[1] = "-c";
argv[2] = (char *) command;
argv[3] = NULL;
execve(shell, argv, env);
因此,为您的示例在远程服务器上执行的相应命令是:
bash -c declarebash -c mount它们都传递给bash和进行评估。内置函数在内部进行求值,并且外部命令的调用就像在本地命令行提示符下那样进行。
-t开关强制进行交互,但仍不会加载rc文件。
sshd(服务器)正在执行此操作,而不是ssh(客户端)正在执行此操作。
/etc/passwd。如果这是/usr/sbin/nologin你无法登录。