脚本安装vsftpd

来源:互联网 发布:天下第一知乎 编辑:程序博客网 时间:2024/06/10 00:37
#!/bin/bashSITEROOT=/home/www/install(){    vsftp_info=`yum list installed | grep vsftp`     if [[ ! -z $vsftp_info ]]    then         echo -n  "vsftp_version:"        echo $vsftp_info | awk '{print $2}'        exit 0    else         echo "Vsftpd not installed"     fi    yum install vsftpd -y    echo "创建用户文件目录"    mkdir -p /etc/vsftpd/user_conf/    echo "创建www用户"    useradd -s /sbin/nologin www    echo "备份主配置文件vsftpd.conf"    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak    echo "生成主配置文件vsftpd.conf"    cat > /etc/vsftpd/vsftpd.conf << EOFanonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=yesxferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/vsftpdlogxferlog_std_format=YESftpd_banner=Welcome to blah FTP service.chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESguest_enable=YESguest_username=wwwuser_config_dir=/etc/vsftpd/user_confvirtual_use_local_privs=YESlog_ftp_protocol=YESsyslog_enable=NOpasv_min_port=2222pasv_max_port=2322EOF    echo "开始配置PAM认证配置文件"    echo "备份PAM配置文件vsftpd"    cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak    cat > /etc/pam.d/vsftpd << EOFauth    required        /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required        /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginEOF}user(){    if [[ ! -z `grep $1 /root/vsftp.db` ]]    then        echo "用户已存在"        passwd=`sed -nr '/test/{n;p}' vsftp.db`        echo "查询到此账号的信息"        echo "username:"$1        echo "passwd:"$passwd        exit 0    fi    echo "用户不存在,开始创建"    echo $1 >> /root/vsftp.db    passwd=`< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c16`    echo "此账号信息"    echo $passwd >> /root/vsftp.db    echo "username:"$1    echo "passwd:"$passwd    echo "写入账号信息到db文件"    db_load -T -t hash -f /root/vsftp.db  /etc/vsftpd/vsftpd_login.db    echo "生成用户配置文件"    sitedir="local_root="$SITEROOT$1    echo $sitedir > /etc/vsftpd/user_conf/$1    echo "加入用户到chroot配置文件"    echo $1 >> /etc/vsftpd/chroot_list    if [[ ! -d $sitedir ]]    then        echo $sitedir"不存在,请注意是否用户信息是否正确"    fi}case "$1" in    user)        user ${2}        ;;    install)        install        ;;    *)        echo $"Usage: $0 {user|install}"        exit 2esac
原创粉丝点击