1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
| #!/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 ftpuser@$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
|