zoukankan      html  css  js  c++  java
  • FTP服务器

    FTP连接及传输模式

    本文内容:匿名用户、本地用户、虚拟用户、黑白名单

    控制连接

    TCP21

    用于发送FTP命令信息

    数据连接

    TCP20

    用于上传,下载数据

    数据连接的建立类型

    主动模式

    服务器主动发起数据连接

    首先由客户端向服务端的21端口建立FTP控制连接。客户端以PORT命令告知服务器。于是服务器从20端口。向客户端的该端口发送请求并建立数据连接

    被动模式

    服务器被动等待数据连接

    如果客户端所在网络的防火墙禁用主动模式连接,通常会使用被动模式

    首先由客户端向服务器21端口建立FTP控制连接。当需要传输数据时,服务器以被动命令告知客户端,于是客户端向服务器的该端口(非20)发送请求并建立数据连接

     FTP用户类型

    匿名用户

    用户名未ftp或匿名提供任意密码都可以通过服务器验证,一般用于公共文件的下载

    本地用户

    直接使用本地的系统用户账户进行验证

    虚拟用户

    通过一份独立的用户数据库文件进行登陆验证,将FTP账户与Linux系统账户的管理学降至最低,为系统提供提供更好的安全性

    安装服务

    yum -y install vsftpd ftp

    准备匿名FTP访问的目录

    cd /var/ftp/
    chown ftp pub/
    cp vsftpd.conf{,.ori}    备份

    匿名用户

    开放匿名用户配置

    vim vsftpd.conf
    12.anorymous_enable=YSE      匿名用户登陆
    29.anon_upload_enable=YES     允许匿名上传
    30.anon_umak=000          权限掩码
    34.anon_mkdir_write_enable=YES  允许其他人创建
    35.anon_other_write_enable=YES  允许其他人写入

    本地用户

    恢复备份
    cp vsftpd.conf.ori vsftpd.conf
    vim vsftpd.conf
    16.local_enavle=YES        允许本地用户上传
    19.write_enavle=YES        允许本地用户修改
    23.local_umask=022
    103.chroot_local_user=YES     将用户锁在用户家目录中
    104.allow_writeavle_chroot=YES  允许写入家目录

    虚拟用户登录

    虚拟用户使用Berkeley DB个数的数据库文件来存放虚拟用户账号,使用db_load工具生成数据库文件。

    恢复备份
    cp vsftpd.conf.ori vsftpd.conf
    vim vsftpd.conf
    输入匿名用户的配置,除了不允许其他人登录
    cd /etc/vsftpd
    vim vusers.txt
    zhangsan
    123
    lisi
    123
    wangwu
    123

     db_load -T -t hash -f vusers.txt vusers.db

    讲用户名相关文件修改为600权限

     chmod 600 vusers.*

     添加映射账号,为FTP根目录修改权限

     useradd -d /var/ftproot -s /sbin/nologin vuser

     增加PAM认证

     cp /etc/pam.d/vsftpd{,.vu}  备份

     vim /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
    #自动会识别后边的.db后缀,不要手动添加

     修改vsfptd.conf配置文件

    126 pam_service_name=vsftpd.vu
    127 guest_enable=YES        
    128 guest_username=vuser
    129 allow_writeable_chroot=YES
    130 user_config_dir=/etc/vsftpd/vusers_dir/

     实现每个虚拟用户不同根目录,不全权限的管控

     创建用户控制目录,并创建虚拟所对应的同名配置文件

     cd /etc/vsftpd

     mkdir vusers_dir

     vim vusers 

    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    local_root=/ftp/zhangsan

     mkdir -p /ftp/zhangsan

     chown vuser /ftp/zhangsan

    黑白名单

    ftpusers文件:FTP服务器中的黑名单,优先级高于user_list文件
    user_list文件:此用户列表默认情况下也是黑名单,即在此用户列表中的用户不可访问FTP服务器,但可以通过vsftpd.conf主配置文件的修改将此名单改为白名单,且仅此名单中的用户可以访问。
    修改配置文件
    vim vsftpd.conf
    130 userlist_enable=YES
    131 userlist_deny=NO

    关闭防火墙与安全机制

    systemctl stop firewalld
    setenforce 0

    查看服务是否开启

    netstat -anpt | grep :21

    测试自身是否可以登陆

    ftp 127.0.0.1

    使用windows访问测试

    打开资源管理器测试是否可以创建目录,下载,删除可以即为成功,反之创建失败

    扩展配置文件中的其他配置

    listen=YES
    listen_address=192.168.1.108
    listen_port=2121    //设置监听端口
    pasv_enable=YES    //是否开启被动模式
    pasv_min_port=24500    //被动模式端口下限
    pasv_max_port=24600    //被动模式端口上限
    max_clients=2000        //最大15000,最大客户连接数,一般不限制
    max_per_ip=2        //每个ip限制最多打开几个客户端工具,一般不限制
    anon_max_rate=50000        //匿名最大传输速率,一般不限制
    local_max_rate=20000        //本地用户最大传输速率,一般不限制
  • 相关阅读:
    Linux下Rootkit的另类检测
    用iptables抗御SYN Flood攻击
    用iptables抗御SYN Flood攻击
    突破极限 解决大硬盘上安装Sco Unix新思路
    突破极限 解决大硬盘上安装Sco Unix新思路
    安装、配置Vmware Esx Server 3.5视频全过程
    安装、配置Vmware Esx Server 3.5视频全过程
    应该如何对企业局域网性能传输进行测试分析
    Leetcode-944 Delete Columns to Make Sorted(删除列以使之有序)
    Leetcode-941 Valid Mountain Array(有效的山脉数组)
  • 原文地址:https://www.cnblogs.com/bnre/p/14153908.html
Copyright © 2011-2022 走看看