SUSE下FTP的安装及启动相关设置

时间:2023-02-13 08:39:42

SUSE下FTP的安装及启动相关设置

 

1、 SuSE下安装FTP

Root用户执行yast2->network services->network services

分别将pure-ftp的状态置为off,vsftpd的状态置为on,然后单击按钮,修改完成。

2 、启动

大多数较新的系统采用的是xinetd超级服务守护进程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的内容,如下:

disable = no

socket_type = stream

wait = no

如果“/etc/vsftpd.conf”中的有选项为“listen=YES”,注销它

最后,重启xinetd,命令如下:

$ /etc/init.d/xinetd restart

三、遇到的问题

1、只允许匿名用户登录

现象:ftp连接过程中,提示输入用户名,输入本机已有用户名angel,得到提示:530 This FTP server is anonymous only,登录失败。

原因:安装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端口的限制,步骤如下:

i> Yast→Security and Users→Firewall;

ii> 在左侧的列表中选择Allowed Services,令人感到以外的是,即使安装FTP服务器,在Servces toAllow列表中也没有FTP服务可供选择,但是SSH、HTTP、HTTPS、Samba等都赫然在列,所以要使用高级设置。点击右下方法的Advanced按钮,打开高级设置对话框;

iii> 在TCP Ports中输入20 21,注意两个端口号之间使用空格分开,OK;

iv> Next→Accept

重新启动,重新测试,连接成功,使用SuSE系统中已有的angel及其密码登录,成功。