码迷,mamicode.com
首页 > 其他好文 > 详细

vsftpd安装脚本

时间:2019-03-04 11:36:00      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:required   必须   while   you   amp   匿名   dbus   cat   upload   

#!/bin/bash #write by ddcw #使用说明:参数:-d 指定vsftpd分享目录; -s 简单的vsftpd,即匿名vsftpd; -u filename.txt 指定用户密码为filename.txt #注意事项:若要有-d 选项, -d 必须为第一个选项 若无-d 则默认vsftpd_share_dir="/tpftp/" -i 表示安装vsftpd #userlist.txt 单行为用户名,双行为密码 #例子: vsftp_install.sh -i -d /ftp -u userlist.txt # vsftp_install.sh -i -s vsftpd_conf_dir="/etc/vsftpd/" vsftpd_share_dir="/tpftp/" usage_vsftpd(){ echo "$0 -s install anonymous can login whith RW" echo "$0 -u userlist.txt while create virtual user by userlist.txt" echo "$0 -d ftpshare_directory set ftp share directory;if set,this is first must" exit; } intall_vsftpd(){ rpm -qa | grep "vsftpd" vsftpd_state=$? if [ "${vsftpd_state}" -eq 0 ] then echo "vsftpd is install" else yum install vsftpd -y || echo "yum is error,you can run yum install vsftpd by yourself or hehe" fi } simple_vsftpd(){ chmod -R 777 ${vsftpd_share_dir} bak_config sed -i "/anonymous_enable/canonymous_enable=YES" ${vsftpd_conf_dir}vsftpd.conf 2>&1 sed -i "/anon_mkdir_write_enable/canon_mkdir_write_enable=YES" ${vsftpd_conf_dir}vsftpd.conf 2>&1 sed -i "/anon_mkdir_write_enable/aanon_other_write_enable=YES" ${vsftpd_conf_dir}vsftpd.conf 2>&1 sed -i "/anon_upload_enable/canon_upload_enable=YES" ${vsftpd_conf_dir}vsftpd.conf 2>&1 chmod 777 /var/vsftpd/pub } dbuser(){ db_load -T -t hash -f $1 ${vsftpd_conf_dir}vuser.db || usage_vsftpd chmod 600 ${vsftpd_conf_dir}vuser.db } set_vsftpd(){ [ -f /etc/pam.d/vsftpd.vu ] || touch /etc/pam.d/vsftpd.vu echo -e "auth required pam_userdb.so db=/etc/vsftpd/vuser\naccount required pam_userdb.so db=/etc/vsftpd/vuser" > /etc/pam.d/vsftpd.vu grep superftp /etc/passwd || useradd -s /sbin/nologin superftp bak_config sed -i "/anonymous_enable/canonymous_enable=NO" ${vsftpd_conf_dir}vsftpd.conf 2>&1 sed -i "/local_enable/clocal_enable=YES" ${vsftpd_conf_dir}vsftpd.conf 2>&1 sed -i "/pam_service_name/cpam_service_name=vsftpd.vu" ${vsftpd_conf_dir}vsftpd.conf 2>&1 sed -i "/userlist_enable/cuserlist_enable=YES" ${vsftpd_conf_dir}vsftpd.conf 2>&1 grep "user_config_dir" ${vsftpd_conf_dir}vsftpd.conf && sed -i "/user_config_dir/cuser_config_dir=${vsftpd_conf_dir}vuser_dir" ${vsftpd_conf_dir}vsftpd.conf 2>&1 || sed -i "/userlist_enable/auser_config_dir=${vsftpd_conf_dir}vuser_dir" ${vsftpd_conf_dir}vsftpd.conf 2>&1 [ -d /etc/vsftpd/vuser_dir ] || mkdir /etc/vsftpd/vuser_di for userdir in `cat ${userlist} | awk ‘NR%2‘` do [ -f /etc/vsftpd/vuser_dir/${userdir} ] || touch /etc/vsftpd/vuser_dir/${userdir} [ -d ${vsftpd_share_dir}${userdir} ] || mkdir ${vsftpd_share_dir}${userdir} echo -e "guest_enable=YES\nguest_username=superftp\nlocal_root=${vsftpd_share_dir}${userdir}\nwrite_enable=yes\npam_service_name=vsftpd.vu\nanon_umask=022\nanon_world_readable_only=YES\nanon_upload_enable=YES\nanon_mkdir_write_enable=YES\nanon_other_write_enable=YES" > /etc/vsftpd/vuser_dir/${userdir} done chmod -R 755 ${vsftpd_share_dir} chown -R superftp:superftp ${vsftpd_share_dir} } bak_config(){ [ -d ${vsftpd_conf_dir}bak_config ] || mkdir ${vsftpd_conf_dir}bak_config cp ${vsftpd_conf_dir}vsftpd.conf ${vsftpd_conf_dir}bak_config/`date "+%s"` } #echo "this shell is beging;options is" $@ option_vsftpd=$@ option_shuzu=($option_vsftpd) n=0 export flag=0 [ $# -eq 0 ] && usage_vsftpd || echo "this shell is begining...." [ -f ${vsftpd_conf_dir}vsftpd.conf.bak ] || cp -nf ${vsftpd_conf_dir}vsftpd.conf ${vsftpd_conf_dir}vsftpd.conf.bak for i in ${option_vsftpd} do n=$((n+1)) [ ${flag} -eq 1 ] && export flag=0 && continue case $i in -s|s) simple_vsftpd;; -u|u) export userlist=${option_shuzu[n]} echo $userlist dbuser ${option_shuzu[n]} set_vsftpd export flag=1;; -d|d) [ -d ${option_shuzu[n]} ] || mkdir ${option_shuzu[n]} strt=${option_shuzu[n]} [ ${strt:${#strt}-1} == "/" ] || strt=${strt}"/" echo "${strt}" export vsftpd_share_dir=${strt} export flag=1;; -i|i) intall_vsftpd;; *) usage_vsftpd;; esac done service vsftpd restart echo "successful!"

vsftpd安装脚本

标签:required   必须   while   you   amp   匿名   dbus   cat   upload   

原文地址:https://blog.51cto.com/10888845/2357591

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!