我不是在谈论 shell 编程或制作像 Bourne 或 Korn Shell 这样的全新 shell...
我只是希望通过端口 21 访问 ftp 的用户被定向到这个 shell,它可以支持 shell 使用的一些基本命令!
我用谷歌搜索了同样的结果......但没有找到任何令人满意的结果。
答案1
通常,Korn 和 Bash shell 有一个“受限外壳" 模式。进入受限 shell 可能就像键入rsh
(避免使用“远程 shell”——在 2012 年绝对不是一个好主意)或 一样简单rbash
。但我不确定你想要什么。
FTP 协议可能允许客户端发送任意命令(带有 QUOTE),但 FTP 服务器 ( ftpd
) 可能不应该只执行它收到的任何命令。 FTP 服务器长期以来一直存在安全问题,部分是由于 FTP 协议本身,部分是由于草率的编程或细微的错误。
使用ftp
(客户端程序),您可能能够在ftpd
(服务器程序)计算机上列出文件,或者您可能能够ftpd
更改目录,但即使您将受限 shell 分配给用户 ID“ftp” ”,您不会让ftp
客户端在 FTP 服务器(机器)上执行任意操作。
您可以通过使用受限 shell 设置用户 ID,然后允许该用户 ID 进行 SSH 访问来获得您想要的结果。从你的问题中我无法判断。