FTP介绍及配置

FTP: 文件传输协议
       登录方式: 匿名 anonymous      真实账号 real     虚拟账号 guest
       监听端口:主动模式    21(udp) 20(tcp)
       模式:
              主动模式 服务器端连接客户端    打开 20 端口提供 client 数据下载
              被动模式   客户端来连接服务端   打开大于 1023 的随机端口等待 client 数据下载
                            服务端发送 (112,3)[ 端口号为: 112*256+3] 给客户端
              被动主动模式的选择:
                     服务端允许被动连接,将取决于客户端,
                     主动模式服务端发送: port 命令实现主动
                     被动模式服务端发送: pasv 命令实现被动
             
       服务器组件: windows
                     Serv-U  IIS   Filexilla
                  linux
                     vsftpd(very secure ftp) 轻量级的
                     proftpd  功能强大 磁碟配额 web 界面 在线注册
                     pureftp
                     wu-ftpd 出现的很早
       vsftpd 配置文件: /etc/vsftpd/vsftpd.conf  权限: 600
                     /etc/vsftpd/ftpusers 不允许本机登陆的用户 权限 600
                     /etc/pam.d/vstpd  认证文件
              端口: 21/tcp(ftp)  20/tcp (ftp-data)<--- 主动模式
             服务脚本: /etc/init.d/vsftpd
             守护进程: /usr/sbin/vsftpd
       vfstpd 接受 tcpwrapper 的控制 iptables 的控制(加载 ip_namt_ftp ip_conntrack_ftp
       vsftpd 的根目录: /var/ftp/
       ftp 配置:   关闭 selinux
                     yum install vsftpd
                     service vsftpd restart
                     chkconfig vsftpd on
                 vim /etc/vsftpd/vsftpd.conf 格式很严格
                     anonymous_enable=YES 允许匿名登陆   NO 不允许
                            匿名登录时是以安装自动生成的 ftp 用户登陆的 匿名登陆被映射成 ftp 用户
                     local_enable=YES 允许本地系统用户登录
                            lftp -u terra 192.168.0.124 登录的为自己的家目录
                     write_enable=YES 允许本地用户有上传文件
                            匿名用户不能上传文件
                     local_umask=022  本地用户上传文件掩码为 022 默认 077
                     anon_upload_enable=YES 允许匿名用户上传文件 不能创建目录
                            允许匿名上传还要设置: chown ftp:ftp /var/ftp/incoming( 创建 )
                                   或者做 acl setfacl -m u:ftp:rwx /var/ftp/incoming
                            incoming 中上传
                     anon_mkdir_write_enable=YES  允许匿名用户创建目录   不能删除
                     anon_other_write_enable=YES 设置后就可以删除了
                     dirmessage_enable=YES 打开欢迎信息目录 设定打开具体目录显示信息
                     message_file=.message 该文件可以在设定目录下创建
                     xferlog_enable=YES 打开传输文件 与下面连用
                     xferlog_file=/var/log/vsftpd.log
                     xferlog_std_format=YES 使用标准的日志类型
                     log_ftp_protocol=YES   登录进 ftp 会记录用户的执行的命令 但是                                                       xferlog_std_format=NO
                     chroot_local_user=YES 禁锢所有用户在自己家目录下
                     禁锢具体用户:
                     chroot_list_enable=YES
                     chroot_list_file=/etc/vsftpd/chroot_list
                                   chroot_list 中添加用户名即可
                     匿名用户上传文件的属主属组改为 root 不是 ftp
                     chown_uploads=YES
                     chown_username=root
                     ftpd_banner= 定义登录 ftp 欢迎信息
                     max_clients= 定义连接 ftp 的做大用户数
                     max_per_ip=2 每个用户同时打开的并发下载数
                     anon_max_rate=10240 匿名用户最大传输速率 10kbps  单位字节
                     local_max_rate=   本地用户最大传输速率                    
      
在打开 selinux 时允许上传文件:
              设定 bool 值:
                            getsebool -a | grep ftp
                            setsebool -P allow_ftp_anon_write 1  打开匿名上传权限
                            setsebool -P ftp_home_dir 1 打开家目录
vsftpd 的虚拟用户:    基于文件的
                     基于 mysql
 
vsftp user_list 文件:文件中定义的用户允许登陆
                     userlist_enable=YES
                     userlist_deny=NO 允许 userlist 中列表的用户登陆 YES 不在列表的用户可以在的拒绝
                    
ftp ssl 数据加密认证: ftps
                     tcpdump -i eth0 -A 抓包查看
              坐自签的证书
                     mkdir /etc/vsftpd/ssl
                     cd /etc/vftpd/ssl
                     openssl genrsa 1024 > ftp_key.pem
                     openssl req -new -key ftp_key.pem -x509 -out ftp_cert.pem -days 3600
                     chmod 600 ./*
                     vim /etc/vsftpd/vsftpd.conf 添加
                        ssl_enable=YES
                        ssl_tlsvl=YES
                        ssl_sslv2=YES
                        ssl_sslv3=YES
                        allow_anon_ssl=NO
                        force_local_data_ssl=YES
                        force_local_logins_ssl=YES
                        rsa_cert_file=/etc/vsftpd/ssl/ftp_cert.pem
                        rsa_private_key_file=/etc/vsftpd/ssl/ftp_key.pem
                     service vsftpd restart
                     测试:物理机安装 filezilla 或者 flashfxp 测试
                    
                                         
                    
                    
      
             

你可能感兴趣的:(vsftp,配置,职场,休闲,FTP介绍)