我正在为我的无头服务器寻找一个 FTP 服务器应用程序,它是具有公共 IP 地址的公共虚拟机。我已经将范围缩小到 3 个,至少从我读过的内容来看,它们是最熟练的。
vsftpd
proftpd
pure-ftp
我一直在研究这三个问题,但我主要担心的是,我需要一个可以上传但在登录后看不到文件夹/目录内容的帐户。
我们之前一直filezilla
在 Windows 服务器上使用服务器,但不得不迁移到 Ubuntu。我之前没有安装过这些应用程序,我想知道它们是否支持在 Ubuntu 上使用。如果支持,我该如何设置?
答案1
我在用着vsftpd
在内部服务器上,所以我只能回答这个问题……
vsftpd
基本上有两个参数来控制其目录列表/etc/vsftpd.conf
dirlist_enable
If set to NO, all directory list commands will give permission denied.
Default: YES
dirmessage_enable
If enabled, users of the FTP server can be shown messages when they
first enter a new directory. By default, a directory is scanned for
the file .message, but that may be overridden with the configuration
setting message_file.
Default: NO (but the sample config file enables it)
download_enable
If set to NO, all download requests will give permission denied.
Default: YES
因此,就你的情况而言,你绝对应该添加:
dirlist_enable=NO
至少,根据您的使用情况,还要禁用下载和目录消息。(这就是我添加该download_enable
参数的原因,它实际上并不控制任何目录列表)
来源:man vsftpd.conf
尽管如此,在公共服务器上,我不会ftp
再允许标准运行,但会使用类似sftp
。
答案2
如果您已在此计算机上设置 OpenSSH,则所有用户帐户都内置有 sftp。大多数现代 ftp 客户端都内置了对 sftp 的支持。它也比常规 ftp 更安全,并且使用加密的开销很小。事实上,在我的本地网络上,sftp 比 ftp 更快。试一试,它与 ssh 在同一个端口上运行,甚至在使用 ssh-key 登录时也可以工作。
尝试一下,您还可以节省运行另一个进程的资源。
答案3
ProFTPD
功能不错,确实是一个不错的选择。它具有原生的 FTP over SSH 支持,如果您需要加密,这非常棒。
所有文件都可以找到这里
The Webalizer
它还具有通过ftpweblog
脚本分析日志和消息的良好功能
答案4
proftpd:
apt-get install proftpd
然后选择:proftpd(服务器模式)
nano /etc/proftpd/proftpd.conf
--> ipv6 should be off
--> default root (should be inlined)(no #)
--> Require Valid Shell off (should be inlined) (no #)
nano /etc/proftpd/modules.conf
--> LoadModule mod_tls_memcache.c should be outlined (with #)
service proftpd restart
现在您必须添加一些用户并将adduser
他们的默认主目录设置为您选择的 ftp 路径 (var/ftp),并将其默认登录外壳设置为/bin/false
以下/etc/passwd
示例:
beeberst:x:1164:33::/var/www/beeberst:/bin/false