CentOs6.5上快速搭建ftp服务器

1、用root 进入系统

2、使用命令 rpm  -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本 

3、使用命令rpm -e vsftpd 即可卸载ftp

4、再使用rpm  -qa|grep vsftpd 查看系统是否已删除ftp,若删除成功,屏幕上显示vsftpd的版本


一:安装vsftpd

查看是否已经安装vsftpd
[root@localhost ~]# rpm -qa | grep vsftpd

如果没有,就安装,并设置开机启动
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# chkconfig vsftpd on

如果下载失败,可能是缺少DNS,你可以试试ping www.baidu.com是否可以ping通,如果ping不通,那再ping 115.239.210.27

如果这个也ping不通,那就是你电脑不能上网咯笨蛋,如果能ping通IP,却不能ping通域名,则说明100%是DNS问题。不用怕,有解决办法的咯,

扫描二维码关注公众号,回复: 2469789 查看本文章

解决办法是修改/ect/resolv.conf文件,

[root@localhost home]# vim /etc/resolv.conf

增加一个nameserver IP,然后保存并退出

如下图所示:



ftp服务的相关命令(其实所有的服务都是这三个命令):

启动:  service vsftpd start

停止:  service vsftpd stop

重启:  service vsftpd restart

二、部署ftp服务器

上面只是下载安装了ftp服务,下面是需要配置一下,才能正常使用。

1、修改ftp服务器的配置文件,文件的默认位置是/etc/vsftpd/vsftpd.conf

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf

找到下面的三段,这三段是在一起的哦

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

然后将上下两行的#号去掉,变成

chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list


2、增加ftp用户

使用useradd 命令,增加用户ftpuser,当然你可以将ftpuser改成其他你想要的,指向目录/home/testftp/ftpuser,禁止登录SSH权限

[root@localhost ~]# useradd -d /home/testftp/ftpuser -g ftp -s /sbin/nologin ftpuser

3、设置该用户的口令密码

[root@localhost ~]# passwd ftpuser


4、编辑文件chroot_list:
[root@localhost ~]# vim /etc/vsftpd/chroot_list

内容为ftp用户名,每个用户占一行,如:

peter
john

5、重新启动vsftpd
[root@localhost ~]# service vsftpd restart

三、配置防火墙

打开防火墙的配置文件,路径为/etc/sysconfig/iptables

[root@localhost ~]# vim /etc/sysconfig/iptables

然后在中间增加下面一行代码

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT


保存和关闭文件,然后重启防火墙
[root@localhost ~]# service iptables restart


到此,应该是可以了,若软件测试连接过程中,在用户验证的时候出现了错误503,应该是selinux设置的问题:可以用下面的命令检查:

[root@localhost ~]# getsebool -a |grep ftp



这是selinux的问题,我们只要打开ftp_home_dir的值开启为on:,allow_ftpd_full_access也一同开启即可。


[root@localhost ~]# setsebool -P ftp_home_dir 1
[root@localhost ~]# setsebool -P allow_ftpd_full_access 1
到此,应该解决问题了。

或者直接关闭selinu,因为修改selinu后需要重启服务,因为服务器不可以重启所以执行"setenforce 0"这个命令,临时修改selinux的策略,无需重启!

关闭SELinux:

1、临时关闭(不用重启机器):

setenforce 0                  ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可


---------------------------------------------------------------------------------------------------------------

还有一个问题就是在设置好ftp后使用xftp软件连接时可以连上但是提示如下,无法显示远程文件夹,如下图所示:


1. 问题原因


由于ftp连接模式port模式和pasv模式。设置ftp 链接模式为port (主动模式) ,ftp客户端一般默认使用的pasv (被动模式) 。如果不修改模式,用户链接服务器后,目录一直不能显示。所以要修改为主动模式。


2. 解决方案

其实很简单,只需将ftp连接模式改为主动模式。xftp修改方式如下 
点击属性->选项->将使用被动模式选项去掉即可



猜你喜欢

转载自blog.csdn.net/qq_16066381/article/details/62039803