zoukankan      html  css  js  c++  java
  • 一键安装vsftpd服务并开通ftp账户

    一键安装脚本,直接在Centos服务器上一键安装vsftpd服务并开通ftp账户

    #/bin/bash
     
    ###脚本使用说明
    #bash   脚本名称          ftp账户  ftp密码   虚拟用户
    #sh -x install-vsftpd.sh  xiaowu  xiaowu666  www
    ##01vsftpd用户
    user=$1
    pass=$2
    codeuser=$3
     
    ##02安装和配置文件如下
    /usr/bin/yum install vsftpd -y
    cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak
    echo " " > /etc/vsftpd/vsftpd.conf  
    cat << EOF >/etc/vsftpd/vsftpd.conf
    anonymous_enable=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
    xferlog_file=/var/log/xferlog
    listen=YES
    listen_port=2038
    pasv_min_port=2037
    pasv_max_port=2039
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    check_shell=YES
    chroot_local_user=YES
    guest_enable=YES
    guest_username=$codeuser
    virtual_use_local_privs=YES
    user_config_dir=/etc/vsftpd/extra
    EOF
     
    #03判断code用户是否存在,不存在创建
    /usr/bin/id $3 >/dev/null
    if [ $? -eq 1 ];then
         $(useradd ${codeuser} -s /sbin/nologin -M)
         sed -i "s#/home/$codeuser#/data/www#g" /etc/passwd
     else
        echo "user  have exsited" 
       sed -i "s#/home/$codeuser#/data/www#g" /etc/passwd
    fi
     
    ##04创建用户权限
    [ ! -d /etc/vsftpd/extra ]&&mkdir /etc/vsftpd/extra -p
     
    cat << EOF >/etc/vsftpd/extra/$1
    local_root=/data/www
    write_enable=YES
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    idle_session_timeout=600
    data_connection_timeout=120
    max_clients=3
    max_per_ip=3
    local_max_rate=500000
     
    EOF
     
    ##05添加用户信息
    cat <<EOF >/etc/vsftpd/vsftpd_login
    $user
    $pass
    EOF
     
    ##06加密生成密码文件
    /usr/bin/db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
     
    ##07将密码文件写入pam.d认证文件中
    cat <<EOF >/etc/pam.d/vsftpd
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    account required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    EOF
     
    chown -R ${3}.${3} /data/www
    ##08启动vsftpd
    /etc/init.d/vsftpd restart

    摘自:

    https://blog.csdn.net/baping8015/article/details/100952765

  • 相关阅读:
    git push 小结
    在GitHub上创建代码仓库
    本人在CSDN上的技术博客访问量突破了10万次,特此截图留念
    和菜鸟一起学linux总线驱动之i2c死锁问题
    《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件
    Access text files using SQL statements by DB Query Analyzer
    git分享:Git_MinaPro
    git分享:Git_DataPro
    vimgrep 搜索总结
    HTML+CSS+JavaScript网页制作从新手到高手
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/12460387.html
Copyright © 2011-2022 走看看