linux系统下FTP服务器的安装和配置

  FTP是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。  FTP支持两种模式:PORT(主动)、PASV(被动)。  PORT模式: 1、客户端打开一个随机端口A(端口号大于1024)和服务器的TCP 21端口建立连接;        2、客户端开始监听B端口,然后在命令通道上发送PORT命令,命令中包含客户端正在监听的是B端口;        3、服务器收到命令后会打开20号数据端口和客户端的数据端口B建立连接;        4、客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。  PASV模式: 1、当开启一个FTP连接时,客户端会随机打开两个非特权端口A和B, 其中A端口和服务器的TCP 21端口建立连接;        2、在命令通道上客户端向服务器发送PASV命令;        3、服务器收到后就会随机打开一个非特权端口P,然后发送PORT命令给客户端;        4、客户端收到后利用B端口连接到服务器的P端口进行传送数据。安装ftp  #rpm -qa vsftpd                    //查看是否已经安装  #yum install vsftpd -y            //安装  #service vsftpd start             //开启服务  #ftp 192.168.254.5(ip地址)   //登录响应码  也可以说是反馈码,每次进行操作都会反馈回一个数字开头的状态码。以下是各类代码信息:  1xx:信息  2xx:成功类代码  3xx:提示需要进一步操作类代码  4xx:客户端错误  5xx:服务端错误配置ftp 配置文件/etc/vsftpd/vsftpd.conf  连接数限制:  max_clients=#                                    //FTP服务器最大接入客户端数  max_per_ip=#                                    //每个ip最大连接数  传输速率限制:  anno_max_rate=#                              //匿名用户最大传输速率 1、匿名用户:  用户名:ftp;密码为空;登录目录:/var/ftp。  anonymous_enable=YES                        //是否启用匿名用户  anon_upload_enable=YES                     //上传  anon_mkdir_write_enable=YES              //创建目录  anon_other_write_enable=YES              //删除  限制系统用户锁定在家目录: 2、系统用户:  用户名:本地用户;密码:用户密码;登录目录:用户家目录。  local_enable=YES  //本地用户登录  write_enable=YES  //上传、创建、删除  chroot_local_user=YES  //限制所有  chroot_list_enable=YES  //限制写入chroot_list文件中的用户  chroot_list_file=/etc/vsftpd/chroot_list  //将需要限制用户写入此文件  /etc/vsftpd/ftpusers  //文件中的系统用户将被禁止登录 3、虚拟用户  在/etc/vsftpd/下创建文本,奇数行为用户名,偶数行为密码;所有虚拟用户目录为一个系统家目录。  ⑴、创建用户密码文本    #vim /etc/vsftpd/vsftpd_list    user1    redhat1    user2    redhat2  ⑵、生成虚拟用户认证db文件    #db_load -T -t hash -f /etc/vsftpd/vsftpd_list /etc/vsftpd/vsftpd_list.db    方法一、vi /etc/pam.d/vsftpd 内容全部注释掉,增加以下两句        auth required /lib(64)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_list        account required /lib(64)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_list        pam_service_name=vsftpdauth              //改为你创建的文件名  ⑷、创建一个系统用户,所有虚拟用户都被映射成此系统用户    #useradd -d /home/vftp -s /sbin/nologin virtual    //用户名为virtual    #chmod 700 /home/vftp                                    //设置权限  ⑸、在配置文件中启用虚拟用户,增加以下参数:    guest_enable=YES                    //启用虚拟用户    guest_username=virtual            //虚拟用户  ⑹、重启FTP服务并测试虚拟用户登录    #service vsftpd restart    #ftp 192.168.254.5  ⑺、对不同虚拟用户设置不同权限    ① 设置配置文件vsftpd.conf.      添加用户配置文件目录设置:user_config_dir=/etc/vsftpd/vsftp_user_conf    ② 创建用户配置文件目录      #mkdir /etc/vsftpd/vsftp_user_conf    ③ 以用户名创建相应用户的配置文件      #touch /etc/vsftpd/vsftp_user_conf/user1      #vim /etc/vsftpd/vsftp_user_conf/user1      local_root=/home/vftp/user1      anon_world_readable_only=NO   //表示用户可以浏览FTP目录和下载文件      anon_upload_enable=YES          //表示用户可以上传文件      anon_mkdir_write_enable=YES   //表示用户有创建目录的权限      anon_other_write_enable=YES   //表示用户具有文件改名和删除文件的权限  虚拟用户配置已完成 

相关内容推荐