zoukankan      html  css  js  c++  java
  • Centos7 ftp服务器搭建

    1.使用yum安装ftp服务端:

    yum  install -y  vsftpd

    2.使用yum安装ftp客户端:

    yum  install -y ftp.x86_64

    3.开启ftp服务设置开机启动并查看状态:

    systemctl start vsftpd
    
    systemctl enable vsftpd
    
    systemctl status vsftpd

    4.配置配置文件:

    4.1备份配置文件,防止意外:

    cp /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.bak

    4.2 vim /etc/vsftpd/vsftpd.conf 进入配置文件修改如下:

    #禁止匿名访问
    
    anonymous_enable=NO
    
    #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
    
    local_enable=YES
    
    write_enable=YES
    
    local_umask=022
    
    dirmessage_enable=YES
    
    xferlog_enable=YES
    
    connect_from_port_20=YES
    
    xferlog_std_format=YES
    
    #是否锁定所有用户不能离开自己的主目录。YES时,锁定;NO时,所有都不锁定
    
    chroot_local_user=YES
    
    #开启例外用户列表,本列表含义跟chroot_local_user配置有关联。当锁定时,本列表中的用户不锁定;当不锁定时,本列表中的用户锁定
    
    chroot_list_enable=YES
    
    #设置例外用户列表文件
    
    chroot_list_file=/etc/vsftpd/chroot_list
    
    listen=NO
    
    #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
    
    pam_service_name=vsftpd
    
    #为YES时,开启用户验证;为NO时,不开启
    
    userlist_enable=YES
    
    #为NO时,允许user_list中用户登陆;为YES时,禁止user_list中用户登陆
    
    userlist_deny=YES
    
    #设定启用虚拟用户功能
    
    guest_enable=YES
    
    #指定虚拟用户的宿主用户,一般新建一个nologin类型的用户作为虚拟用户的宿主用户
    
    guest_username=vsftpd
    
    virtual_use_local_privs=YES
    
    #设定虚拟用户个人配置文件存放路径
    
    user_config_dir=/etc/vsftpd/vuser_conf

    5.建立虚拟用户列表

    #第一行用户名,第二行密码,不能使用root为用户名
    
    vim /etc/vsftpd/virtusers
    
    添加内容
    
    test1
    
    123456
    
    test2
    
    123456

    6.生成db文件

    db_load -T -t hash-f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
    
    注释:db_load如果没有自行安装。
    
    #修改文件权限
    
    chmod600/etc/vsftpd/virtusers.db   (权限r,w即可)

    7.修改/etc/pam.d/vsftpd文件

    #备份文件,防止意外
    
    cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
    
    #vim /etc/pam.d/vsftpd,注释文件内容,添加下面两行:
    
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
    
    注释:根据自己的机器类型选择lib64还是lib。

    8.新建系统nologin用户vsftpd,新建虚拟用户根目录,配置虚拟用户个人配置

    8.1新建系统用户

    #先在家目录下建立vsftpd文件夹,这也是我们所有虚拟用户访问的空间
    
    mkdir -p /home/vsftpd
    
    #用户登录终端设为/sbin/nologin(即:使之不能登录系统)
    
    useradd vsftpd -d/home/vsftpd -s /sbin/nologin

    8.2新建虚拟用户根目录,其他用户类似

    mkdir -p /home/vsftpd/test1/
    
    chown -R vsftpd:vsftpd /home/vsftpd/test1

    8.3配置虚拟用户个人配置

    vim /etc/vsftpd/vuser_conf/test1,文件名跟虚拟用户名相同:
    
    #设置虚拟用户的主目录
    
    local_root=/home/vsftpd/test1
    
    #需要设置本项,不然登陆时会登陆不了,权限问题
    allow_writeable_chroot=YES
    
    #下面这些项根据需要添加
    
    write_enable=YES
    anon_world_readable_only=NO 
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES 
    anon_other_write_enable=YES

    9.关闭防火墙。当然也可以设置对服务开放,为了方便直接关闭。

    systemctl stop firewalld
    
    systemctl disable firewalld
    
    systemctl status firewalld

    10.关闭SELinux。当然也可以根据需要开放,为了方便直接挂壁。

    修改/etc/selinux/config文件中的SELINUX=disabled ,然后重启。

    完毕!

    本人安装过程遇到的问题:

    1.配置完成后,启动时发生错误:

    ==== AUTHENTICATION COMPLETE ===
    Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.

    原因:配置文件中,配置项后多了东西。每个配置项后面什么都不能有,包括空格,否则会出现上述问题。

    #设定启用虚拟用户功能
    guest_enable=YES #
    
  • 相关阅读:
    多线程 execute和submit区别和使用
    Linux上安装rz和sz命令
    杜恩德__百度百科
    电商类-高并发场景处理方式一
    ConcurrentHashMap源码分析(1.8)
    JVM | 为何生产环境最好保持 Xms = Xmx
    分享ProcessOn网上的干货模板
    pythonweb开发
    pyquery
    python正则
  • 原文地址:https://www.cnblogs.com/chengsheng/p/6964556.html
Copyright © 2011-2022 走看看