这两天在Suse上安装和配置FTP时,遇到不少问题,这里做一下总结: 一、安装 Suse的图形用户界面做的很不错,所以安装过程也比较简单。 1、打开Yast,Software→Software Management; 2、刚开始使用Suse的软件管理器非常的不习惯,找不到所需的信息在什么地方,可是用了一段时间之后,就感觉它的分类方式更加方便,也为用户提供了更多的信息。在Filter→Package Groups,在下面的树形列表中Productivity→Networking→Ftp,也可以展开Ftp节点,选择其中的Servers节点; 3、在左侧的软件包列表中选择vsftpd,然后点击下方的Accept按钮,会提示插入光盘; 4、插入所需的光盘后,系统会自动开始安装,安装完毕,可以在下面的File List选项页中查看vsftpd相关的所有文件。 二、启动服务 安装完成后,vsftpd是作为一个独立的服务启动,不接受xinetd的管理。系统会自动在Service列表中添加名称vsftpd的服务。启动服务的步骤如下: 1、Yast→System→System Services(Run level); 2、在服务列表中选择vsftpd,点击下方的Enable按钮,启动服务,Finish。 注意,在启动vsftpd时可能会不能启动,有时是因为它所依赖的服务没有启动,如syslog,这时选中syslog,点击Enable按钮。如果还是不能启动,可以重新启动xinetd服务,然后再启动vsftpd服务。 三、遇到的问题
1、只允许匿名用户登录 原因:安装vsftpd后,其默认为匿名FTP服务器,只允许匿名用户登录。 解决方法:vsftpd有三种服务器方式:匿名方式、本地方式和虚拟用户方式,此处需要修改vsftpd的配置将其设为本地方式。vsftpd的配置文件位于/etc/目录下,名称为vsftpd.conf。关于该配置文件在网上已经有很多高手做了详细的分析和讲解,并且该文件内部的注释也比较详细,这里就不再一一讲解了。下面只说明几处需要修改的地方: 将local_enable=YES前的#去掉,使其可用,表示允许本地用户登录;增加listen_port=21配置项,设置监听端口为21;该步骤可选,不允许匿名用户登录,将anonymous_enable=YES的值改为NO,根据实际需要设置。 重启vsftpd服务:service vsftpd restart。启动后,在进行测试,使用本地用户angel及其密码登录,成功。注意:以上测试是在本机(或使用SSH登录后)进行。 2、其他机器不能连接该服务器 现象:本机测试通过后,在其他机器(Windows或Redhat)上使用ftp 192.168.1.8连接该服务器,得到Connection closed by remote host或Connection timed out提示信息,连接失败。 原因:Suse的防火墙阻止了外来机器对FTP所用的端口的访问。
解决方法:放开防火墙对FTP所使用的20和21端口的限制,步骤如下: 注意,虽然这里有些问题是在Suse下遇到,但是在其他操作系统中的vsftpd的配置中依然适用。 (责任编辑:IT) |