由于需要经常部署FTP服务,就写了一个脚本一键安装,参数设置还没有写的太详细,也没有作虚拟用户,大致思想,判断是否安装,没有安装去安装vsftp,然后利用read读如用户设置,付给变量,调取变量,执行函数代码。未完待续............................. ################################################ #!/bin/bash vsftpd=/etc/vsftpd/vsftpd.conf
################################### rpm -qa |grep "vsftpd" if [ $? -eq 1 ] then yum install vsftpd -y &> /tmp/vsftp_install if [ $? -eq 0 ] then echo "vsftpd安装成功" else echo "vsftpd安装失败,请查看/tmp/vsftp_install" fi
read -p "是否关闭匿名用户登陆,默认以开启:" anonymous
anonymous_enable(){ sed -i 's/anonymous_enable=YES/anonymous_enable=NO $vsftpd }
case $anonymous in no) anonymous_enable echo "匿名用户以关闭" ;; NO) anonymous_enable echo "匿名用户以关闭" ;; yes) echo "错误,匿名用户默认以开启" ;;
YES) echo "错误,匿名用户默认以开启" ;; *) echo "输入错误,请输入yes/no" ;; esac
read -p "是否关闭本地用户登陆,默认以开启:" local
local_enable(){ sed -i 's/local_enable=YES/local_enable=NO $vsftpd }
case $local in no) local_enable echo "本地用户登陆以关闭" NO) local_enable echo "本地用户登陆以关闭" ;;
yes) echo "错误,本地用户登陆默认以开启" ;;
YES) echo "错误,本地用户登陆默认以开启" ;;
*) echo "输入错误,请输入yes/no" ;; esac
read -p "是否关闭本地用户写权限,默认以开启:" write
write_enable(){ sed -i s/write_enable=YES/write_enable=NO/ $vsftpd }
case $write in no) write_enable echo "本地用户写权限以关闭" NO) write_enable echo "本地用户写权限以关闭" ;; yes) echo "错误,本地用户写权限开启" ;;
YES) echo "错误,本地用户可写以开启" ;; *) echo "输入错误,请输入yes/no" ;; esac read -p "请输入本地用户上传文件的umask:" umask
local_umask(){ sed -i s/local_umask=022/local_umask=$umask/ $vsftpd } if [ -z "$umask && echo $umask |grep -E "[0-9]" if [ $? -eq 0] then local_umask echo "本地用户上传文件的umask以修改为:$umask" else echo "错误,请输入正确的umask" fi
anon_upload_enable(){ sed -i s/#anon_upload_enable=YES/anon_upload_enable=YES/ $vsftpd }
read -p "是否开启匿名用户上传权限,默认关闭:" anon_upload
case $anon_upload in no) echo "错误,匿名用户上传权限默认以关闭"
NO) echo "错误,匿名用户上传权限默认以关闭" ;; yes) anon_upload_enable echo "匿名用户上传权限以开启" ;;
YES) echo "匿名用户上传权限以开启" ;;
*) echo "输入错误,请输入yes/no" ;; esac -------------------------------------
|