zoukankan      html  css  js  c++  java
  • centos7 安装vsftpd的shell脚本

    v1.0
    vim vsftpd_install.sh
    #!/bin/bash
    ftpPath=/home/woa/tomcat/webapps/webdav/CloudSystem
    userName=wang
    passwd=123456
     
    yum install -y epel-release
    yum install -y pam* db4*
    yum install -y vsftpd
    cat << EOF > /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    xferlog_enable=NO
    xferlog_file=/etc/vsftpd/vsftpd.log
    xferlog_std_format=YES
    connect_from_port_20=YES
    idle_session_timeout=600
    listen=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    guest_enable=YES
    guest_username=ftp
    user_config_dir=/etc/vsftpd/virtualuser_conf
    allow_writeable_chroot=YES
    EOF
     
    mkdir -p /etc/vsftpd/virtualuser_conf
    cat << EOF > /etc/vsftpd/virtualuser_conf/$userName
    local_root=$ftpPath
    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
    EOF
     
    echo "$userName" > /etc/vsftpd/virtualuser_passwd.txt
    echo "$passwd"   >> /etc/vsftpd/virtualuser_passwd.txt
     
    db_load -T -t hash -f /etc/vsftpd/virtualuser_passwd.txt /etc/vsftpd/virtualuser_passwd.db
     
    echo "auth required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd" > /etc/pam.d/vsftpd
    echo "account required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd" >> /etc/pam.d/vsftpd
     
    [ ! -d $ftpPath ] && mkdir -p $ftpPath
    chown -R root:ftp $ftpPath
    chmod -R 777 $ftpPath
     
    systemctl start vsftpd
    systemctl enable vsftpd
     
     
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     

    vsFTP服务部署

    后台采集服务通过vsftp方式,将采集的文件上传到文件服务器,故还需要部署一个vsftp服务,vsftp目录对应到文件存储目录

    l 安装依赖环境

    安装vsftp前,需要先安装PAM(用于用户认证)和DB4(用于生成虚拟用户的用户名密码的db文件)

    执行下列命令安装

    yum install pam*

    yum install db4*yum install epel-release

    安装vsftp服务

    安装vsftp服务,执行下列命令

    yum install vsftpd

    设置vsftp为开启启动,执行下列命令

    chkconfig vsftpd on

    配置vsftp服务

    进入vsftp配置文件目录,配置vsftpd.conf

    cd /etc/vsftpd/

    vi vsftpd.conf

     

    将下列信息填入vsftpd.conf

    pasv_enable=YES     #开启被动模式

    pasv_max_port=10030

    pasv_min_port=10020  

    anonymous_enable=NO

    local_enable=YES

    write_enable=YES

    local_umask=022

    xferlog_enable=NO

    xferlog_file=/etc/vsftpd/vsftpd.log

    xferlog_std_format=YES

    connect_from_port_20=YES

    idle_session_timeout=600

    listen=YES

    pam_service_name=vsftpd

    userlist_enable=YES

    tcp_wrappers=YES

    guest_enable=YES

    guest_username=ftp

    user_config_dir=/etc/vsftpd/virtualuser_conf

    allow_writeable_chroot=YES

     

     

     

    *重要参数说明:

    anonymous_enable=NO 不允许匿名访问

    local_enable=YES 本地用户可以访问,如果设置成NO的话,ftp这个系统本地用户没法进行访问了,所有的ftp客户端当然也没法进行上传下载了。

    write_enable=YES #可写(可上传)

    xferlog_enable=YES

    xferlog_file=/etc/vsftpd/vsftpd.log

    xferlog_std_format=YES

    3项由于设置log日志,记得在/etc/vsftpd/下新建一个vsftpd.log文件。

    guest_enable=YES  #启用虚拟用户

    guest_username=ftp  #虚拟用户借用的系统本地用户名

    user_config_dir=/etc/vsftpd/virtualuser_conf  #虚拟用户的配置文件路径,所以别忘了在/etc/vsftpd/目录下新建一个virtualuser_conf文件夹

    创建vsftp用户

    配置文件修改完成后,需要设置虚拟用户

    比如要添加一个叫weixin用户,ftp客户端就使用该用户名(密码后面设置)进行上传下载,在/etc/vsftpd/virtualuser_conf新建一个名叫weixin的文件

    cd /etc/vsftpd/virtualuser_conf

    vi weixin

     

    文件里面的内容为:

    local_root=/home/tomcat/webapps/webdav/CloudSystem

    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

     

    *参数说明:

    local_root=/home/ftpuser  #该虚拟用户上传下载的根目录

    write_enable=YES  #可写(可上传)

    anon_umask=022  #掩码

     

    接下来在/etc/vsftpd/目录新建一个记录所有客户端用户(虚拟用户)的用户名密码的文本文档:

    cd /etc/vsftpd

    vi virtualuser_passwd.txt

    里面的内容为:

    weixin

    123456

    奇数行是用户名,偶数行是密码,支持创建多个

       

    接着,生成虚拟用户认证的db文件

        db_load -T -t hash -f /etc/vsftpd/virtualuser_passwd.txt /etc/vsftpd/virtualuser_passwd.db

     

    随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句再增加以下两句

    auth required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd

    account required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd

    配置vsftp目录权限

    设置服务器上的目录权限

    因为这里设置的上传下载的根目录为

    /home/tomcat/webapps/hdwebdav/CloudSystem,所以这个文件夹的权限很重要,开始新建的时候它是root:root,属于root用户,属于root组,后来改成了root:ftp,即改成了ftp组,因为客户端进行上传下载是借助服务器上的ftp用户,ftp用户是属于ftp组的。所需需要将这个目录改成ftp

    执行下列命令

    chown -R root:ftp /home/tomcat/webapps/webdav/CloudSystem

    chmod 777 /home/tomcat/webapps/webdav/CloudSystem -R

    配置完成后,可以开启ftp服务

    servicevsftpdstart

     
     
     
  • 相关阅读:
    图文详解YUV420数据格式
    利用ffmpeg解码h264流的代码
    Spring Boot Thymeleaf 使用详解
    Intellij Idea更换主题
    spring boot + thymeleaf 乱码问题
    SpringBoot集成thymeleaf(自定义)模板中文乱码的解决办法
    spring-boot-starter-thymeleaf 避坑指南
    Spring Boot 官方文档学习(一)入门及使用
    Spring Security 中的 Bcrypt
    laravel5的Bcrypt加密方式对系统保存密码的小结
  • 原文地址:https://www.cnblogs.com/szy2018/p/12574103.html
Copyright © 2011-2022 走看看