在 Ubuntu 世界中,您似乎要么总是运行 FTP 服务器,要么从不运行。也许我是第一个需要使用 Ubuntu 刷新 Cisco、Checkpoint 或 Nokia 映像的网络分析师……我需要一个 FTP 服务器可能需要 5 分钟,仅此而已。
我正在寻找一个简单的、用户启动的 FTP 服务器。我知道它可能必须使用 sudo 运行。很好 - 但我想像普通程序一样启动/停止它。
在 Windows 平台上,这样的工具非常多——我已经使用 3CDaemon 多年,最近发现了 CoreFTP。两者都很棒。您配置一个用户,将其指向一个目录,然后点击“开始”按钮。几分钟后,您通常会完成并点击“停止”按钮。任务完成。
Ubuntu 上似乎不存在此类工具。我找到了一个Google 代码项目,它可以相当好地创建一个 TFTP 实例(假设它仍然运行——我大约一年没有使用它并且 python 已经继续前进),但是 FTP 怎么样?外面有什么吗?
您可以使用pyftpdlib让 FTP 服务器像一二三一样简单:
pip install --user pyftpdlib
python -m pyftpdlib
添加。-w
您现在有一个 ftp 服务器,您可以登录到匿名共享您的主目录。这更多地意味着对模块的测试,但它确实做到了它在锡上所说的那样。
这个命令:
将在没有 root 权限的情况下在端口 2121 上提供服务,并向匿名用户授予写访问权限。它还将使用
FTP
当前工作目录中的目录而不是您的主目录。键入python ftpserver.py --help
以获取有关所有选项的信息。anonymous@localhost:2121/
请注意,该软件是根据MIT 许可条款发布的,这意味着您基本上可以随心所欲地使用它。阅读许可文本,它只有几行,并了解您的权利。
现在,这个脚本不支持用户名和密码作为其独立功能的一部分(出于安全原因,我想)。
所以我添加了这个功能:
除了我提到的所有选项之外,您现在还有命令行参数
--username=USERNAME
和--password=PASSWORD
:再次,用于
--help
查看所有内容。这应该尽可能简单。
我还为它写了一个小gui:
在此处下载(更新于第 6 版)
很抱歉,它有 3999 行长,但它会完成原版所做的一切。我想把它全部保存在一个文件中。当它在没有任何参数的情况下启动时(即使其可执行并双击它,或者为它创建一个启动器),它会启动一个小 gui 来配置您的服务器。您仍然可以将其作为 python 模块导入或使用上面的命令行 fu。
已知的问题:
除了端口 2121 之外,我没有打扰任何其他东西。这应该很简单,使端口可配置需要复杂的错误处理,我不希望用户打扰。2121 应该总是可以正常工作。
它不会像命令行那样警告您使用不安全的配置。即不设置密码或类似的东西。
编辑:因为
pyftpdlib
和ftpserver.py
改变的API(和ubuntu pastebin链接消失了);上面的大部分帖子都不再起作用了。对于 (2014) 版本pyftpdlib
,使用此脚本 (ftpserver-cli.py
) 来实现与上述相同的功能:致电:
你可以使用 纯ftpd
如果您有 ssh 服务器,则可以使用scp 。
对于那些将文件复制到路由器和从路由器复制文件的人,您可能想尝试一下这个工具:tftpgui
它对我有用,而且很容易配置。它也是一个 Python 脚本,但使用 tftp 而不是 ftp。您所要做的就是安装 python-tk 并下载脚本
唯一需要注意的是 Ubunutu 默认为 Phython2,因此启动脚本的最佳方式是:
然后,您可以在 GUI 中对其进行配置。当你完成后,你按退出,就是这样。
博