设为首页 收藏本站
查看: 923|回复: 0

Linux系统FTP服务器搭建与配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-25 08:46:58 | 显示全部楼层 |阅读模式
一、简介
     1、简介

          File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文件传输协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种哦协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载(Download)”和“上传(Upload)”。
          下载文件就是将文件从远程主机拷贝到自己的计算机上;
          上传文件就是将文件从自己的计算机拷贝到远程主机上。
          支持FTP协议的服务器就是FTP服务器。
     2、工作模式
        主动模式:
          FTP客户机向服务器的FTP控制端口(默认是21)发送请求,服务器接受连接,建立一 条命令链路,当需要传送数据时候,客户端在命令链路上用PORT命令告诉服务器:“我打开了某个端口,你过来连接我。”于是服务器从20端口向客户端的改端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器主动请求,所以称为主动模式。
FTP 主动模式(命令行是主动模式)
服务器用20号端口,主动连接客户机的大于1024的随机端口。
        被动模式:
          FTP客户端向服务器的FTP控制端口发送连接请求,服务器接收连接,建立一条命令链路,当需要传送数据时候,服务器在命令链路上用PASV命令告诉客户端;“我打开了某端口,你过来连接我。”于是客户端向服务器的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器被动等待客户端请求,所以称为被动模式。
        FTP被动模式客户机用大于1024的随机端口,主动连接服务器大于1024的随机端口。

  主动模式下的FTP服务器,需要在服务器和客户端之间的防火墙中设置一下策越:
          允许FTP客户机从大于1024的端口连接FTP服务器的21端口
          允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
          允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口
          允许FTP客户机从大于1024的端口回应来自FTP服务器20端口的网络连接
        被动模式下的FTP服务器,需要在服务器和客户端之间的防火墙中设置一下策越:
          允许FTP客户机从大于1024的端口连接FTP服务器的21端口
          允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
          允许FTP客户机从大于1024端口主动连接FTP服务器中大于1024的端口
          允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接

     3、服务端和客户端程序
          1)常见的FTP服务器程序:
               Windows:IIS 、Serv-U
               Linux:  wu-ftpd 、Proftpd 、vsftpd(Very Secure FTP Daemon,常用)
          2)常见的FTP客户端程序:
               CuteFTP、FlashFXP、LeapFTP、Filezilla
               gftp、kuftp、FTP命令(Linux中可能需要自己安装,yum -y install ftp)


二、FTP服务器的安装与配置
      1、安装

        1)服务器端: vsftpd

        2)客户端:

             Linux系统:安装ftp命令

             Windows系统:使用第三方软件连接
      2、配置文件详解
            /etc/vsftpd/vsftpd.conf      #主配置文件            
                anonymous_enable=YES  #允许匿名用户访问
                anon_umask=022        #匿名用户所上传文件的权限掩码(无此项,默认是600)
                anon_root=/var/ftp    #匿名用户的FTP根目录
                anon_upload_enable=YES   #允许匿名用户上传(服务器权限和目录权限均需要设置)
                anon_mkdir_write_enable=YES   #允许创建目录
                anon_other_write_enable=YES   #开放其他写入权
                anon_max_rate=0     #限制最大传输速度(字节/秒)
                local_enable=YES   #是否启用本地系统用户
                local_umask=022   #本地用户所上传文件的权限掩码
                local_root=/var/ftp   #设置本地用户的FTP根目录
                chroot_local_user=YES  #是否将用户禁锢在主目录
                local_max_rate=0      #限制最大传输速率

            listen_address=192.168.4.1  #设置监听的IP地址
                listen_port=21             #设置监听FTP服务的端口号
                write_enable=YES           #是否启用写入权限
                download_enable=YES        #是否允许下载文件
                max_clients=0              #限制并发客户端连接数
                max_per_ip=0               #限制同一IP地址的并发连接数
     3、虚拟用户配置      
        1)建立虚拟FTP用户的帐号数据库文件
           vi /etc/vsftpd/vusers.list(奇数行写用户名,偶数行写密码)
              lc
              123
              sc
              123
           cd /etc/vsftpd
           db_load -T -t hash -f vusers.list vusers.db
           chmod 600 /etc/vsftpd/vusers.*
         2)创建FTP根目录及虚拟用户映射的系统用户
          useradd -d /var/ftproot -s /sbin/nologin virtual
          chmod 755 /var/ftproot
         3)建立支持虚拟用户的PAM认证文件
          vi /etc/pam.d/vsftpd.vu
           #%PAM-1.0
           auth      required       pam_userdb.so db=/etc/vsftpd/vusers
           account   required       pam_userdb.so db=/etc/vsftpd/vusers
          添加虚拟用户支持
         4)在vsftpd.conf文件中添加支持配置
           local_enable=YES
           write_enable=YES
               anon_umask=022
               guest_enable=YES
               guest_username=virtual
               pam_service_name=vsftpd.vu
               user_config_dir=/etc/vsftpd/vusers_dir
       5)为个别虚拟用户建立独立的配置文件
           mkdir  /etc/vsftpd/vusers_dir
           cd  /etc/vsftpd/vusers.dir
           vi lc
            anon_upload_enable=YES
            anon_mkdir_write_enable=YES
          启动服务并测试
         6)重新加载vsftpd配置
            service vsftpd  reload
         7)使用虚拟FTP帐号访问测试
            每个用户都可以通过自己独立配置文件中分配的权限来访问FTP服务器。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70275-1-1.html 上篇帖子: Windows Server 2008 R2入门之FTP 下篇帖子: linux下NFS、FTP使用讲解 服务器 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表