用脚本建立ftp

#!/bin/bash


#FTP自动化建立脚本


DATE=$(date +%y%m%d)
DIR=`pwd`


while getopts :r opt
do
case $opt in
r)
read -p ">>>将卸载FTP,是否继续[yes/no]  " answer_2
if [ "$answer_2" = "yes" ];then
yum remove vsftpd -y
echo -e ">>>\aFTP卸载成功!"
rm -rf /etc/vsftpd/
userdel -r public 2>/dev/null
#userdel -r admin 2>/dev/null
rm -rf /home/public/
echo ">>>清除数据中....."
echo ">>>清除完成!"
exit 0
else
exit 0
fi;;
*) echo ">>>请输入正确参数remove!";;
esac


done


shift $[ $OPTIND - 1 ]


clear


#提示信息
echo "#############################################################"
echo "#                该脚本帮助用户建立FTP站点                  #"
echo "#                    安农农E创客制作                        #"
echo "#                   今天的日期是$DATE                      #"
echo "#                 作者邮箱ye998102@163.com                  #"
echo "#############################################################"
echo ""


if [ -d /etc/vsftpd ];then
EXIST=1
else
EXIST=0
fi
#echo $EXIST
#检测系统是否安装vsftpd


if [ $EXIST -eq 1 ];then
#clear
echo -e ">>  脚本检测到你的系统中存在有关FTP的配置文件,将删除配置文件,\n并卸载相关软件后重新安装,你可以选择继续安装或者退出[yes/no]"
read -p "请输入:" answer
if [ "$answer" = "yes" ];then
yum remove vsftpd -y
else
exit 1
fi
else
echo ">>>>>脚本检测到你的系统未安装ftp相关软件,将进行安装"
sleep 3
fi


#安装vsftpd


yum install vsftpd -y


#修改vsftpd的默认允许状态


chkconfig vsftpd on


#更改配置文件


TEMP_FILE=`mktemp -t vsftp.XXXXXX`
CONF_FILE="${DIR}/vsftpd_ftp.conf"
#echo "$CONF_FILE"


sed '/^[a-zA-Z]/s/^/#&/g' /etc/vsftpd/vsftpd.conf > $TEMP_FILE


if [ -f $TEMP_FILE ];then
echo "`cat $TEMP_FILE`" > /etc/vsftpd/vsftpd.conf
echo "`cat $CONF_FILE`" >> /etc/vsftpd/vsftpd.conf
echo ">>>一个配置文件修改成功!"
else 
echo ">>>配置文件修改失败!"
fi


#建立其中一个配置文件


touch /etc/vsftpd/chroot_list 2>/dev/null


public_exist=`cat /etc/passwd | grep "public"`


if [ -n $public_exist ];then
clear
echo ">>>>>你的系统中已经存在public账号,脚本将进行删除并重新建立,如果你确定该账号是你手动创建,或者你不是系统管理员,请输入no终止脚本!否则输入yes继续"
#echo "请输入:"
read -p "请输入:" answer_1
if [ "$answer_1" = "yes" ];then
userdel -r public 2>/dev/null 
rm -rf /home/public/ 2>/dev/null
echo ">>>>>脚本继续....."
else
exit 1
fi
else
echo ">>>>>脚本继续....."
fi


#建立public主目录


mkdir -p /home/public 2>/dev/null


#建立public账号


useradd -d /home/public -s /sbin/nologin public 2>/dev/null
#useradd -d /home/public/ftpdir -s /sbin/nologin admin 2>/dev/null


#把public账号写入/etc/vsftpd/user_list


echo "public" >> /etc/vsftpd/user_list
#echo "admin" >> /etc/vsftpd/user_list


#把除public以外的账号写入/etc/vsftpd/ftpusers


gawk 'BEGIN{FS=":"}{print $1}' /etc/passwd | sed '/public/d' >>  /etc/vsftpd/ftpusers


#cp /tmp/* /home/public/ftpdir/


[ ! -d /home/public/电影电视 ] && mkdir /home/public/电影电视
[ ! -d /home/public/软件工具 ] && mkdir /home/public/软件工具
[ ! -d /home/public/音乐音频 ] && mkdir /home/public/音乐音频
[ ! -d /home/public/游戏娱乐 ] && mkdir /home/public/游戏娱乐
[ ! -d /home/public/编程开发 ] && mkdir /home/public/编程开发
[ ! -d /home/public/课件资料 ] && mkdir /home/public/课件资料
[ ! -d /home/public/站点信息 ] && mkdir /home/public/站点信息


cp ./Cisco_Packet_Tracer_5.3.zip /home/public/软件工具
cp ./ruby182+RDE1.0.1.rar /home/public/编程开发
cp ./TO-FU_-_29_WAYS_TO_STAY_CREATIVE.mp4 /home/public/电影电视
cp ./史上最强悍的PPT动画作品'(450页)'.ppt /home/public/课件资料
cp ./我的简历_PPT动画版.pptx /home/public/游戏娱乐
cp ./站点信息说明.docx /home/public/站点信息


service vsftpd start


[ ! -d /var/ftp ] && mkdir /var/ftp


cp /home/public/ /var/ftp 


clear


echo ">>>>>ftp搭建完成!"
echo ""
echo "                   *********注意事项***********"
echo
echo -e "\a>>>该FTP的账号及密码都是public,使用ftp相关软件如FlashFXP即可登录\n>>>FTP的地址是你系统的公网IP地址,端口号21
>>>脚本默认会将安装目录下部分示例文件拷到FTP站点,请自行修改或删除FTP站点内容!\n>>>如果要卸载该站点,运行脚本时加上-r参数即可!"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值