CentOS7安装配置VSFTPD(虚拟用户方式)

一、安装
    1. 查看是否安装vsftpd
        rpm -qa | grep vsftpd
    2. 安装 
        yum -y install vsftpd
    3. 设置开机启用
        ckconfig vsftpd on

二、配置vsftpd
    打开vsftpd配置文件
    # vi /etc/vsftpd/vftpd.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
    chown_uploads=YES
    chown_username=ftp
    #日志记录文件位置
    xferlog_file=/var/log/vsftpd.log
    #格式化日志
    xferlog_std_format=YES
    #设定支持ASCII模式的上传和下载功能
    ascii_upload_enable=YES
    ascii_download_enable=YES

    //使用户不能离开主目录 
    chroot_list_enable=YES
    #chroot_list_file=/etc/vsftpd/chroot_list 

    ls_recurse_enable=YES
    #监听IPv4 sockets
    listen=YES
    #注释IPv6 sockets监听
    #listen_ipv6=YES

    #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 //已下三个请在配置文件中手动添加 
    pam_service_name=vsftpd 

    userlist_enable=YES
    userlist_deny=YES
    #/etc/vsftpd/user_list中的用户禁止登录ftp
    #如果只配置userlist_enable=YES,有可能出现错误 “530 Permission denied”,因此加上如下配置
    userlist_file=/etc/vsftpd/user_list
    tcp_wrappers=YES

    #设定启用虚拟用户功能 
    guest_enable=YES 
    //指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 
    guest_username=ftp 
    #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
    user_config_dir=/etc/vsftpd/vuser_conf 

    pasv_min_port=61001
    pasv_max_port=62000

    #文件上传下载权限设置
    allow_writeable_chroot=YES
    anon_umask=022
    file_open_mode=777

    #虚拟用户和本地用户有相同的权限
    virtual_use_local_privs=YES


三、创建chroot list,将vftpd.conf配置文件中的guest_username加入其中:
    # touch /etc/vsftpd/chroot_list
    # echo ftp >> /etc/vsftpd/chroot_list

四、创建用户密码文件
    # touch /etc/vsftpd/vuser_passwd.txt
    ##注意奇行是用户名,偶行是密码
    test
    111222

五、生成虚拟用户认证的db文件
    如果没有db4需要先进行安装。安装Berkeley DB工具:
    # yum install db4 db4-utils
    生成虚拟用户认证的db文件:
    # db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

六、编辑认证文件:
    # vi /etc/pam.d/vsftpd

    全部注释掉原来语句再增加以下两句:
    ##查看系统版本号    
    # getconf LONG_BIT
    #系统为32位的
    auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
    #系统为64位的
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd


七、创建虚拟用户配置文件
    # mkdir /etc/vsftpd/vuser_conf/
    #文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
    # vi /etc/vsftpd/vuser_conf/test
    ##内容如下:
    #虚拟用户根目录,根据实际情况修改(如果没有需要创建)。该目录必须要有读写权限 chmod -R 777 目录。
    local_root=/var/ftp/upload
    #可写 
    write_enable=YES
    #掩码 
    anon_umask=022
    anon_world_readable_only=NO 
    anon_upload_enable=YES 
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

八、设置防火墙
    打开防火墙设置:
    # vi /etc/sysconfig/iptables
    注释其他,新加如下
    # -A INPUT –m state --state NEW –m tcp –p tcp –dport 22 –j ACCEPT
    # -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    # -A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT
    然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
    # systemctl restart firewalld.service


如果上传下载中出现错误,看下日志vsftpd.conf(xferlog_file)
tail /var/log/vsftpd.log
如果安装过程中出现错误,可看日志

tail /var/log/secure


注:如有错误,请大家指正哈


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lsc_000/article/details/49964877
个人分类: linux
下一篇sublime text3 配置 python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭