pure-ftpd 写一个自动安装脚本shell

运行脚本后 输入 yes 就会自动安装

#!/bin/bash
port=`netstat -lnp|grep :21|wc -l`
check_ok()
{
        if [ $? -eq 0 ];then
        echo "check ok"
else
echo "check error " && exit 
        fi
}
read -p "AUto install ftp input ‘yes‘ install on:     "  yes
if [  yes == "$yes" -a $port == 0 ];then
#获取当前ip地址,默认第一个ip地址
ip=`ifconfig|awk -F [:a-Z" "]+ ‘NR==2 {print $2}‘`
lftp="yum install -y lftp"
user=ftptest
pure1=pure-ftpd-1.0.42.tar.bz2
pure=pure-ftpd-1.0.42
URL="http://download.pureftpd.org/pub/pure-ftpd/releases/$pure1 --no-check-certificate"
src=/tmp/ftp
#随机获取5个数字密码
passwd=$((RANDOM))
echo  -e "\033[33m ------------------------------------------------------\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                      Auto install FTP              -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m ------------------------------------------------------\033[0m"
sleep 2
cd /usr/local/src/
rm -rf $pure && rm -rf $pure1
wget $URL
check_ok
tar -jxvf $pure1  && cd $pure
#进行初始化
./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits  --with-tlsa
check_ok 
make && make install
mkdir -p /usr/local/pureftpd/etc/ && cd configuration-file/
cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
cp pure-config.pl  /usr/local/pureftpd/sbin/
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
check_ok
#清空配置文件 写入新的配置
> /usr/local/pureftpd/etc/pure-ftpd.conf
echo "hrootEveryone              yes
BrokenClientsCompatibility  no
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 no
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
PureDB                      /usr/local/pureftpd/etc/pureftpd.pdb 
#这是一个用户名和密码库
LimitRecursion              3136 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   yes
Umask                       133:022
MinUID                      100      
#你不能映射uid 小于100 最小100的  限制100
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
PIDFile                     /usr/local/pureftpd/var/run/pure-ftpd.pid
MaxDiskUsage               99
CustomerProof              yes"  > /usr/local/pureftpd/etc/pure-ftpd.conf
check_ok
mkdir $src
useradd $user -s /sbin/nologin -M
chown -R $user $src
/usr/local/pureftpd/bin/pure-pw useradd ftpuser -u$user -d $src <<EOF
$passwd
$passwd
EOF
check_ok
/usr/local/pureftpd/bin/pure-pw mkdb 
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf 
check_ok
rm -rf /usr/local/src/$pure1
rm -rf /usr/local/src/$pure
$lftp
echo  -e "\033[33m ------------------------------------------------------\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[5;33m -          Auto install FTP        Yes               -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m -                                                    -\033[0m"
echo  -e "\033[33m ------------------------------------------------------\033[0m"
sleep 2
echo -e "user:ftpuser passwd:$passwd\nUse: lftp [email protected]$ip\ndir: $src\nAccount and pas
swd to the root dir ftp.txt"
#把账号和密码存入到主目录下,也就是root目录
echo "user:ftpuser2\npasswd:$passwd" > ~/ftp.txt
else
echo "cancel install,check port 21\n exit" &&exit
fi
1. 删除ftp用户命令
[[email protected] configuration-file]#/usr/local/pureftpd/bin/pure-pw userdel ftpuser1  
2. 修改ftp用户密码
[[email protected] ~]# /usr/local/pureftpd/bin/pure-pw passwd ftpuser
[[email protected] ~]# /usr/local/pureftpd/bin/pure-pw mkdb   //执行上面的修改密码后 需要更新一下密码库

安装完后会把账号和密码输入到屏幕上,存到主目录下ftp.txt文件

时间: 2024-10-03 07:26:17

pure-ftpd 写一个自动安装脚本shell的相关文章

linux下PXE无人值守环境自动安装脚本

当时单位要安装一套linux的PXE无人值守装机程序,装完后花了九牛二虎之力写了一个自动安装脚本,以便今后安全方便,不过后来就没怎么用了,甚至都有些淡忘了,哈哈,分享出来,有研究PXE自动安装的可以看看,在使用的时候里面的ip地址要换掉的. #!/bin/sh #writer:gaolixu yum -y install dhcp tftp-server vsftpd syslinux xinetd if ! service dhcpd status ;then ############### 

python3自动安装脚本,python3.x与python2.x共存

1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且安装模式为python3.x与python2.x共存,防止可能发生原有环境异常的情况. 现在我把脚本分享出来,希望可以帮助到有需要的人,业务采集监控python脚本文件不提供,因为那些跟实际业务开发关联比较紧,比较没有参考意义也不方便公开. shell自动安装脚本,只需按说明简单修改配置,和调用集成

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys

用Python写一个ftp下载脚本

用Python写一个ftp下载脚本 ----基于Red Hat Enterprise Linux Server release 6.4 (Santiago):python 2.6.6 Ps:少侠我接触Python半个月以来接到的第一个需求,虽然如此简单的一个脚本,少侠我磕磕绊绊却用了将近一天半的时间才写出来,但还是很开心,毕竟也粗来了,废话不多说,切入正题.因为一开始没有用过ftplib模块,所以各种谷歌度娘一堆资料杂乱不堪,话不清,理不乱的,本文实现的功能简单,下面介绍一下,以免误导读者. 需

Linux中自动安装脚本

如何让你的主机自动的完成安装,自动的回答系统提出的问题,编写自动安装脚本即可实现,如下将详细解释自动脚本安装方法. systemd-config-kickstart  ##自动应答脚本制作工具 安装成功,在安装过程中systemd-config-kickstart 将做出脚本应答 进行选择语言选择 (1)Basic Configuration 安装过程的必须一致时区选择(可不选,在脚本中都有写到,这里做一个解释) Root passwd 填写Root密码,并确认,两次输入密码 Advanced

OpenJDK自动安装脚本 InstallOpenJDK.vbs

Oracle JDK 要收费了,Open JDK没有安装包,只有Zip,写了个安装脚本 InstallOpenJDK.vbs 1 Rem ********************************* 2 Rem **File: InstallOpenJDK.vbs 3 Rem **Author: windfic 4 Rem **Date: 2019-06-05 5 Rem **Description: 自动安装OpenJDK 6 Rem **************************

mysql 自动备份和nginx自动安装脚本

一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 BAKDIR=/data/backup/mysql/`date +%Y-%m-%d` MYSQLDB=webapp MYSQLPW=backup MYSQLUSR=backup #must use root user run scripts 必须使用root用户运行,$UID为系统变量 if [

ELK自动安装脚本

ELK自动安装脚本 一.简介 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用 kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web

ipvsadm+keepalived+inotify-tools自动安装脚本

#!/bin/bash # # #this is install keepalived+lvs-DR # # tar_dir=/usr/src configure_yum() { echo "[rhel-local]">/etc/yum.repos.d/rhel-local.repo echo "baseurl=file:///media/Server">>/etc/yum.repos.d/rhel-local.repo echo "en