2019-01-19

This commit is contained in:
monlor
2019-01-19 12:02:30 +08:00
parent 62e6f5266e
commit 968acc1d90
23 changed files with 40 additions and 35 deletions

View File

@@ -5,6 +5,13 @@ eval `mbdb export vsftpd`
port=21
FTPUSER=${mbroot}/apps/vsftpd/config/ftpuser.conf
# binname="${appname} ${appname}-ext"
userpath=/etc/mixbox/apps/vsftpd/config/vsftpd.users
[ "$entware" = '1' ] && configpath=/opt/etc/vsftpd/vsftpd.conf || configpath=/etc/vsftpd.conf
[ ! -d /var/run/vsftpd ] && mkdir -p /var/run/vsftpd
[ -z "$port" ] && port=21
[ -z "$anon_root" ] && anon_root=/var/ftp
[ ! -f "${configpath}" ] && touch ${configpath}
add(){
sed -i "/$1/"d /etc/passwd
@@ -25,7 +32,7 @@ add(){
del(){
sed -i "/^$1/"d /etc/passwd
sed -i "/^$1/"d /etc/shadow
sed -i "/^$1/"d /etc/vsftpd.users &> /dev/null
sed -i "/^$1/"d ${userpath} &> /dev/null
}
# init_mount() {
@@ -41,7 +48,7 @@ set_config() {
logsh "$service" "加载${appname}设置... "
[ ! -f $FTPUSER ] && logsh "$service" "未配置ftp用户" && exit
cat /etc/vsftpd.users 2> /dev/null | while read line
cat ${userpath} 2> /dev/null | while read line
do
[ ! -z "${line}" ] && del ${line}
done
@@ -50,13 +57,12 @@ set_config() {
username=`cutsh ${line} 1`
passwd=`cutsh ${line} 2`
ftppath=`cutsh ${line} 3`
echo $username >> /etc/vsftpd.users
echo $username >> ${userpath}
[ ! -z $username ] && add $username $passwd $ftppath
done
if [ `mbdb get ${appname}.main.anon_enable` = "1" ]; then
if [ "$anon_enable" = "1" ]; then
anon_enable=YES
anon_root=`mbdb get ${appname}.main.anon_root` || anon_root=/var/ftp
[ ! -d $anon_root ] && mkdir -p $anon_root
[ ! -d $anon_root/Share ] && mkdir -p $anon_root/Share
chmod 755 $anon_root
@@ -67,10 +73,9 @@ set_config() {
else
anon_enable=NO
fi
port=`mbdb get ${appname}.main.ftp_port` || port=21
cp -rf ${mbroot}/apps/${appname}/config/${appname}.conf /etc/vsftpd.conf
[ ! -d /var/run/vsftpd ] && mkdir -p /var/run/vsftpd
echo -e "anonymous_enable=$anon_enable\nanon_root=$anon_root\nlisten_port=${port}" >> /etc/vsftpd.conf
mount --bind ${mbroot}/apps/${appname}/config/${appname}.conf ${configpath}
echo -e "anonymous_enable=$anon_enable\nanon_root=$anon_root\nlisten_port=${port}" >> ${configpath}
}
@@ -82,16 +87,16 @@ start () {
exit 1
fi
logsh "$service" "正在启动${appname}服务... "
# if [ ! -f ${mbroot}/apps/${appname}/bin/${appname} ]; then
# bincheck ${binname}
# if [ $? -eq 0 ]; then
# logsh "【$service】" "安装程序成功,链接程序到工具箱..."
# ln -sf $(which $binname) ${mbroot}/apps/${appname}/bin/${appname}
# else
# logsh "【$service】" "程序安装失败!"
# end
# fi
# fi
if [ ! -f ${mbroot}/apps/${appname}/bin/${appname} ]; then
bincheck ${binname}
if [ $? -eq 0 ]; then
logsh "$service" "安装程序成功,链接程序到工具箱..."
ln -sf $(which $binname) ${mbroot}/apps/${appname}/bin/${appname}
else
logsh "$service" "程序安装失败!"
end
fi
fi
# init_mount
set_config
@@ -112,11 +117,11 @@ stop () {
close_port
remove_firewall_start
# 删除用户
cat /etc/vsftpd.users 2> /dev/null | while read line
cat ${userpath} 2> /dev/null | while read line
do
[ ! -z "${line}" ] && del ${line}
done
rm -rf /etc/vsftpd.conf
rm -rf ${configpath}
killall -9 ${appname} &> /dev/null