Answers:
我在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
说了这么多,在公共服务器上,我将不再允许standard ftp
运行,而是使用sftp
。
vsftpd
是您最佳的选择(这就是为什么我使用内部服务器上的一个:你永远不知道什么时候该用例的变化。) ;-)它有助于做man vsftpd.conf
,而你正在首次配置...
ProFTPD
具有不错的功能,实际上是一个不错的选择。它具有基于SSH的本地FTP支持,如果您希望加密,那就太棒了。
所有文件都可以在这里找到
它还具有很好的功能,可以通过The Webalizer
和ftpweblog
脚本分析日志和消息
我以前在服务器上安装了VsFTPd,但由于我的Windows设计器在上载和全部操作(他使用的是notepad ++及其内置的FTP客户端)时经常出现中断,因此我不得不使用ProFTPd。现在,我没有任何抱怨。至于清单,您可以在这里找到更多详细信息。
proftpd:
apt-get install proftpd
然后选择:proftpd(servermode)
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
并/bin/false
在/etc/passwd
一个示例中将其默认homedir设置为所选的ftp-path(var / ftp),并将其default-loginshell设置为:
beeberst:x:1164:33::/var/www/beeberst:/bin/false