首页自学Centos一键安装部署vsftp

Centos一键安装部署vsftp

adminadmin时间2024-06-28 19:25:41分类自学浏览36
每次给不同的人配置ftp,都手工搞一次,决定简化这一步操作。
1、自动安装vsftp
2、自动设置被动模式、并打开iptables端口
3、支持自动创建ftp目录 帐号 密码
4、安装后,以后每次运行脚本,都可以用于创建用户密码目录
*由于权限设置方法不同,需要自己在完成后设置ftp目录的写入权限

*适合系统 centos 6


if [ ! -e "/etc/init.d/vsftpd" ];then

echo '是否需要安装vsftpd? 不需要请回n ,需要按任意键'
read inputvar

    if [ $inputvar != 'n' ];then

        yum -y install db4 db4-utils
        yum -y install vsftpd
        sed -i 's/anonymous_enable=YES/anonymous_enable=No/g' /etc/vsftpd/vsftpd.conf
        sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/g' /etc/vsftpd/vsftpd.conf
        sed -i 's/#ascii_upload_enable=YES/ascii_upload_enable=YES/g' /etc/vsftpd/vsftpd.conf
        sed -i 's/#ascii_download_enable=YES/ascii_download_enable=YES/g' /etc/vsftpd/vsftpd.conf
        sed -i 's/#xferlog_file=\/var\/log\/xferlog/xferlog_file=\/var\/log\/vsftpd.log/g' /etc/vsftpd/vsftpd.conf
        echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf
        echo "guest_username=ftp" >> /etc/vsftpd/vsftpd.conf
        echo "user_config_dir=/etc/vsftpd/vuser_conf" >> /etc/vsftpd/vsftpd.conf
        touch /var/log/vsftpd.log
        touch /etc/vsftpd/chroot_list
        echo ftp >> /etc/vsftpd/chroot_list
        touch /etc/vsftpd/vuser_passwd.txt
        mkdir /etc/vsftpd/vuser_conf/
        echo "auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd" > /etc/pam.d/vsftpd
        echo "account required pam_userdb.so db=/etc/vsftpd/vuser_passwd" >>  /etc/pam.d/vsftpd

        echo "pasv_max_port=6666" >> /etc/vsftpd/vsftpd.conf
        echo "pasv_min_port=5555" >> /etc/vsftpd/vsftpd.conf

        /etc/init.d/vsftpd restart

        iptables -I INPUT -p tcp --dport 21 -j ACCEPT
        iptables -I INPUT -p tcp --dport 5555:6666 -j ACCEPT
        /etc/init.d/iptables save
        /etc/init.d/iptables start
    else
        echo '已取消安装vsftpd'

    fi

fi

echo '是否需要创建ftp目录 帐户 密码?'
read inputvar2

if [ $inputvar2 != 'n' ];then
    echo '请输入ftp目录'
    read ftppath
    if [ ! -d "$ftppath" ]; then
      mkdir -p $ftppath
    fi
    echo '请输入ftp帐号'
    read account
    echo '请输入ftp密码'
    read pwd
    echo $account >> /etc/vsftpd/vuser_passwd.txt
    echo $pwd >> /etc/vsftpd/vuser_passwd.txt
    db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
    touch /etc/vsftpd/vuser_conf/$account
    echo local_root=$ftppath >> /etc/vsftpd/vuser_conf/$account
    echo write_enable=YES >> /etc/vsftpd/vuser_conf/$account
    echo anon_umask=022 >> /etc/vsftpd/vuser_conf/$account
    echo anon_world_readable_only=NO >> /etc/vsftpd/vuser_conf/$account
    echo anon_upload_enable=YES >> /etc/vsftpd/vuser_conf/$account
    echo anon_mkdir_write_enable=YES >> /etc/vsftpd/vuser_conf/$account
    echo anon_other_write_enable=YES >> /etc/vsftpd/vuser_conf/$account
    service vsftpd restart
    
    echo '创建完成,请自行设置ftp目录的权限以保证ftp帐号连接时正常读写'
    
    
else
echo '已取消创建ftp目录帐号密码'
fi

本文《Centos一键安装部署vsftp》bushu/4.html

与《Centos一键安装部署vsftp》

0
0
收藏0
德展健康:控股股东提议2亿元至3亿元回购股份

    未登录用户 回复需填写必要信息
    请先 登录 再评论,若不是会员请先 注册