您的位置:首页 > 服务器 > > 正文

centosftp服务器的配置(CentOS6.9中搭建FTP服务器的方法)

更多 时间:2022-04-03 10:16:42 类别:服务器 浏览量:905

centosftp服务器的配置

CentOS6.9中搭建FTP服务器的方法

1 基本环境

centosftp服务器的配置(CentOS6.9中搭建FTP服务器的方法)

2 ftp工作模式

2.1 ftp通道

ftp工作会启动两个通道:

控制通道,数据通道

在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)

2.2 port模式

在客户端需要接收数据时,ftp_client(大于1024的随机端口)----port命令-----ftp_server(21)发送port命令,这个port命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的tcp 20端口和port中包含的端口建立新的连接来传送数据。

2.3 pasv模式

传送数据时,ftp_client---pasv命令---ftp_server(21)发送pasv命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

3 安装vsftp

  • # rpm -qa vsftpd   #检查是否已安装
    # yum -y install vsftpd
    # chkconfig --level 35 vsftpd on   #设置开机自启动
    # chkconfig --list|grep vsftpd    #检查开机是否是自动启动
    
  • 4 ftp文件说明

  • # rpm -ql vsftpd
    /etc/logrotate.d/vsftpd    #vsftpd的日志文件
    /etc/pam.d/vsftpd      #PAM认证文件
    /etc/rc.d/init.d/vsftpd    #启动脚本
    /etc/vsftpd         #vsftpd的配置文件存放目录
    /etc/vsftpd/ftpusers     #禁止使用vsftpd的用户列表文件
    /etc/vsftpd/user_list     #禁止或允许使用vsftpd的用户列表文件
    /etc/vsftpd/vsftpd.conf    #ftp的主配置文件
    /etc/vsftpd/vsftpd_conf_migrate.sh   #vsftpd操作的一些变量和设置
    /var/ftp         #匿名用户目录
    /var/ftp/pub       匿名用户的下载目录
    
  • 5 配置ftp

    5.1 vsftpd.conf文件参数说明

    黄色部分为添加的,红色为修改的

  • anonymous_enable=NO    #是否开启匿名登录
    local_enable=YES       #是否允许本地用户登录
    write_enable=YES       #是否允许上传
    local_umask=022        #默认的umask码
    dirmessage_enable=YES     #是否显示目录说明文件
    xferlog_enable=YES       #是否记录ftp传输过程
    connect_from_port_20=YES   #是否确定端口传输来自20
    xferlog_std_format=YES     #是否使用标准的ftp xferlog模式
    chroot_list_enable=YES      #是否将系统用户限制在自己的home目录下
    chroot_list_file=/etc/vsftpd/chroot_list  #列表不受限制的用户
    listen=YES            #是否开启监听
    pam_service_name=vsftpd     #服务名称
    userlist_enable=YES
    tcp_wrappers=YES
    
  • 5.2 关闭selinux

  • # setenforce 0
    # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    
  • 6 创建虚拟用户

    6.1 创建一个用户

    创建用户后修改用户的shell为nologin,让用户不能登录系统,只能使用ftp之内的服务

  • # useradd -d /home/ftp/test -g ftp -s /sbin/nologin test
    # echo 123456|passwd --stdin test #设置密码
    
  • 6.2 将用户test添加到chroot_list中

  • # touch /etc/vsftpd/chroot_list 
    # echo test >>/etc/vsftpd/chroot_list
    
  • 6.3 启动vsftp服务

  • # /etc/init.d/vsftpd start
    
  • 6.4 登陆ftp方式

    6.4.1 文件夹登陆

    在文件夹路径框输入:ftp://10.0.0.8 按回车登陆                                             

    6.4.2 浏览器登陆

    浏览器里输入ftp://10.0.0.8/    输入用户名test和密码123456进行测试

    6.4.3 cmd命令行登陆

    打开windows cmd窗口输入:ftp 10.0.0.8 按回车输入用户名和密码登陆

    6.4.4 第三方客户端登陆

    比如xftp客户端登陆

    7 其他参数说明

  • max_client=100       #vsftpd最大支持链接数100个ip
    max_per=5         #每个ip能支持的5个链接
    local_max_rate=81920     #限制传输速度
    listen_address=ip       #绑定某个ip到vsftpd,只允许该ip访问
    xferlog_file=/var/log/vsftpd.log  #日志存放位置
    
  • 8 常见报错

    8.1 报错1

  • [root@oldboyedu45-wang ~]# service vsftpd start
    
  • 为 vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: chroot_list_enable                                                           [失败]

    此报错时由于chroot_list_enable后面有空格导致的

    总结

    以上所述是小编给大家介绍的CentOS6.9中搭建FTP服务器的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

    您可能感兴趣