一线FTP服务器

时间:2011-07-25 02:22:25

标签: linux bash ftp

很多时候我使用了命令,它在当前目录中打开一个临时HTTP服务器:

python3 -m http.server

现在我需要接收文件,是否有任何打开ftp服务器的单行命令?

我只是在寻找命令行ftp服务器,没有配置文件,没有守护进程。

我在One line ftp server in python中尝试过Twisted,但用户无权发送文件......

4 个答案:

答案 0 :(得分:13)

如果您正在寻找Python解决方案,请查看pyftpdlib

您可以使用例如PIP:

pip install pyftpdlib

然后像这样运行:

python -m pyftpdlib

默认情况下,它在localhost,端口2121上运行匿名可写FTP服务器,从当前目录(即从您启动它的任何地方)提供文件。要登录,请使用匿名作为用户名和密码。

显然,这是非常不安全的,所以你必须考虑到这一点 - 如果你想要任何更多的玩具或其他东西来开发等,请使用正确的FTP服务器,如其他人所提到的。

答案 1 :(得分:1)

一个常见的命令行ftp服务器是vsftpd。这也是Ubuntu,CentOS,Fedora,NimbleX和RHEL Linux上的默认ftp服务器。

答案 2 :(得分:1)

这是使用NodeJSftp-srv模块)的解决方案

npx ftp-srv ftp://0.0.0.0:2121 --root .

这将启动一个FTP服务器,该服务器在所有接口上的TCP端口2121上进行侦听,该服务器使用当前目录作为根目录(这实际上是默认目录,因此在特定情况下可以省略--root .)并接受所有登录。 (npx下载该模块并使用提供的选项运行其主脚本。)

您可能还想签出--pasv_url选项以启用被动模式。

有关更多详细信息,请参见https://www.npmjs.com/package/ftp-srv#cli

Options:
  --help             Show help                                         [boolean]
  --version          Show version number                               [boolean]
  --credentials, -c  Load user & pass from json file                    [string]
  --username         Blank for anonymous                  [string] [default: ""]
  --password         Password for given username                        [string]
  --root, -r         Default root directory for users                   [string]
  --read-only        Disable write actions such as upload, delete, etc
                                                      [boolean] [default: false]
  --pasv_url         URL to provide for passive connections             [string]
  --pasv_min         Starting point to use when creating passive connections
                                                        [number] [default: 1024]
  --pasv_max         Ending port to use when creating passive connections
                                                       [number] [default: 65535]

答案 3 :(得分:0)

Openssh有一个SFTP服务器,配置非常简单。

仅供参考,普通FTP比HTTP更复杂。小心:)