我如何configurationproftpd只监听127.0.0.1上的连接? 如果我设置
DefaultAddress localhost
在/etc/proftpd/proftpd.conf中
并重新启动proftp我仍然能够从另一台计算机login…
这是错误的select? 或者,这只是一个愚蠢的用例,除了我以外,没有人会需要这样的function?!?
你尝试使用127.0.0.1而不是localhost 。 也许/etc/hosts在那里有一些奇怪的东西。
否则, ProFTPd FAQbuild议使用Allow和Deny选项,或者从xinetd运行它,或者启用tcp wrappers模块并设置它。
或者当然你可以使用iptables。
为了让proftpd只在本地主机上侦听,你可以同时使用DefaultAddress 和 SocketBindTight ,如下所示:
DefaultAddress localhost SocketBindTight on
默认情况下, proftpd将侦听给定端口的所有接口( 例如 “*:21”)。 SocketBindTight指令告诉proftpd将“紧密地”绑定到地址/套接字,而不是使用通配符套接字( 例如导致“127.0.0.1:21”)。
它看起来不像configuration文件里面有一个选项。 这是做到这一点的一种方法,它也允许你通过用户名(使用PAM)进行过滤:
创build一个名为/etc/security/proftpd.conf的文件,其中包含以下行:
+ : ALL : 127.0.0.1 + : ALL : localhost - : ALL : ALL
+表示允许,第二列是用户名,第三列是传入连接的主机名。 所以,例如, + : john : 127.0.0.2将允许john从127.0.0.2连接。 A -否认他们。
接下来,修改/etc/pam.d/proftpd以在顶部附近(我使它成为会话之后的第一行)添加以下内容以使其读取新文件:
auth required pam_access.so accessfile=/etc/security/proftpd.conf
它应该立即生效,无需重新启动服务。