美文网首页
FTP服务器搭建

FTP服务器搭建

作者: ZHQIAN | 来源:发表于2018-03-03 10:22 被阅读0次

    文档源文件:http://www.jb51.net/article/135565.htm
    安装vsftpd和ftp连接工具

    # yum -y install vsftpd ftp
    

    修改vsftpd的配置文件

    # vim /etc/vsftpd/vsftpd.conf
    

    修改:

    anonymous_enable=NO //修改为NO
    chroot_list_enable=YES //去掉前面的#号
    chroot_list_file=/etc/vsftpd/chroot_list //去掉前面的#号
    ascii_upload_enable=YES //去掉前面的#号
    ascii_download_enable=YES //去掉前面的#号
    local_umask=033 //修改权限
    listen=YES //设置vsftpd拥有自己的守护进程
    listen_ipv6=NO //注意:listen和listen_ipv6不能同时设置YES
    

    添加:

    pasv_enable=YES #开启被动模式
    pasv_min_port=30000 #被动模式最小端口
    pasv_max_port=40000 #被动模式最大端口
    pasv_promiscuous=YES #关闭端口安全检查
    pasv_address=公网IP地址 #局域网搭建忽略此项
    allow_writeable_chroot=YES
    cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,RETR,SIZE,TYPE,USER,ACCT,STOR,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
    

    注意:cmds_allowed参数不能有空格,这里设置权限可以上传,下载,重命名,替换,删除空文件夹,但不可以删除文件;为了安全考虑,被动模式端口最好大于10000,端口范围过小则无法访问ftp服务

    设置ftp用户黑名单(把本地用户添加到以下两个文件)

    # cut -d : -f 1 /etc/passwd>>/etc/vsftpd/ftpusers
    # cut -d : -f 1 /etc/passwd>>/etc/vsftpd/user_list
    

    注意:如果只在ftpusers添加,登录ftp时会提示用户密码错误,在user_list添加则会提示权限拒绝

    建议:两边都加

    创建ftp用户(新建的用户不在黑名单内)

    # useradd -s /sbin/nologin test //用户名为test
    # passwd test //设置密码
    

    注意:ftp用户的主目录默认在/home/用户名/下面

    限制ftp用户不能离开它的home目录

    # touch /etc/vsftpd/chroot_list
    # cut -d : -f 1 /etc/passwd>>/etc/vsftpd/chroot_list
    

    防火墙开放ftp,使系统不用完全关闭防火墙

    # firewall-cmd --zone=public --add-port=21/tcp --permanent
    # firewall-cmd --zone=public --add-port=30000-40000/tcp --permanent
    # firewall-cmd --add-service=ftp --permanent
    # firewall-cmd --reload
    # firewall-cmd --list-services //查看ftp是否开放
    # firewall-cmd --zone=public --list-ports //查看已开放的端口
    

    注意:还需要在阿里云控制台的安全组规则添加被动模式的端口范围,否则会导致访问不了ftp服务

    配置selinux 允许ftb访问home和外网访问

    # getsebool -a | grep ftp //查看setenforce的ftp布尔值 
    # setsebool -P ftpd_full_access on
    # setsebool -P ftpd_connect_all_unreserved on
    # setsebool -P ftpd_use_passive_mode on
    # semanage port -a -t ftp_port_t -p tcp 30000-40000
    # semanage port -l |grep ftp //查看selinux开启的ftp端口
    

    注意:如果semanage命令默认是没有安装的,报错运行以下命令

    # yum -y install policycoreutils-python //安装selinux端口管理工具
    

    设置home目录权限

    # chmod 777 /home/test
    

    启动并设置开机自启

    # systemctl start vsftpd.service
    # systemctl enable vsftpd.service
    

    相关文章

      网友评论

          本文标题:FTP服务器搭建

          本文链接:https://www.haomeiwen.com/subject/ubnoxftx.html