1. 程式人生 > >linux系統腳本配置ftp服務器

linux系統腳本配置ftp服務器

linux ftp


[[email protected] test]# vim vsftp_home.sh

#############################################
##### date 2017-09-10
##### name ftp服務器
##### anth joker
#############################################
#!/bin/bash
. /root/test/vsftp_function.sh
while true
do
#clear
cat<<-eof
*************************************

*** 不要重復操作 ***
*************************************
**** 1 安裝ftp服務
**** 2 配置臨時ftp服務器
**** 3 配置企業ftp服務器
**** 4 配置虛擬ftp服務器
**** 5 退出
*************************************
eof
#選擇
read -p "請輸入您的選擇 [1-5]:" CHOISE
case $CHOISE in
1)
install_ftp
;;
2)
install_provisional_server
;;
3)
install_enterprise_server
;;
4)
install_Virtualaccount_server
;;
5)
exit 520
;;
esac
done


[[email protected] test]# vim vsftp_function.sh

####檢查服務,安裝服務函數
install_ftp(){
service vsftpd status &>/dev/null
# STATE1=`service vsftpd status | awk ‘{print $3}‘`
case $? in
0)
echo "FTP服務已經安裝,正在檢查服務是否啟動......"
STATE1=`service vsftpd status | awk ‘{print $3}‘`
if [ $STATE1 == "stopped" ];then
/etc/init.d/vsftpd start
STATE2=`service sshd status|awk -F"[ .]+" ‘{print $5}‘`
if [ $STATE2 == "running" ];then
echo "服務已經啟動......"
else
echo "請檢查服務"
fi
else
echo "服務已經啟動......"
fi

;;
1)
yum -y install vsftpd lftp

esac
}

####配置臨時ftp服務器
install_provisional_server(){
SOURCE=/etc/vsftpd/vsftpd.conf
sed -i ‘s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/‘ $SOURCE
sed -i ‘s/#anon_upload_enable=YES/anon_upload_enable=YES/‘ $SOURCE
chown ftp.ftp /var/ftp/pub
/bin/ls /var/ftp/xuegoddate
if [ $? -ne 0 ];then
mkdir /var/ftp/xuegoddate
else
echo "已經存在"
fi
chown ftp.ftp /var/ftp/xuegoddate
service vsftpd restart
}

##配置系統賬號FTP服務器
install_enterprise_server(){
#添加兩個賬戶
for i in ` cat /etc/passwd|awk -F: ‘{print $1}‘`
do
if [ $i != "team1" ];then
useradd -s /sbin/nologin team1
echo "123456"|passwd --stdin team1
fi
if [ $i != "team2" ];then
useradd -s /sbin/nologin team2
echo "123456"|passwd --stdin team2
fi
done &>/dev/null
#配置vsftpd.conf配置文件
SOURCE=/etc/vsftpd/vsftpd.conf
sed -i ‘s/anonymous_enable=YES/anonymous_enable=NO/‘ $SOURCE
sed -i ‘s/#chroot_list_enable=YES/chroot_list_enable=YES/‘ $SOURCE
sed -i ‘[email protected]#chroot_list_file=/etc/vsftpd/[email protected]_list_file=/etc/vsftpd/[email protected]‘ $SOURCE
echo "local_root=/var/www/html">>$SOURCE
#配置chroot_list文件
echo -e "team1\nteam2">/etc/vsftpd/chroot_list
# echo "team2">>/etc/vsftpd/chroot_list
#查看/var/www/html是否存在
ls /var/www/html
if [ $? -ne 0 ];then
mkdir -p /var/www/html
else
echo "已經存在!!"
fi
chmod -R o+w /var/www/html
service vsftpd restart
}

##創建虛擬賬號ftp服務器
install_Virtualaccount_server(){

#創建用戶數據庫
echo -e "commuser\n123456\nvipuser\n123456">/etc/vsftpd/vsftpd_virtualuser.txt
which db_load
if [ $? -ne 0 ];then
yum install -y db
fi
chmod 600 /etc/vsftpd/vsftpd_virtualuser.db

#配置PAM
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.`date +%F`.bak
>/etc/pam.d/vsftpd
echo "auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_virtualuser">>/etc/pam.d/vsftpd
echo "account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_virtualuser">>/etc/pam.d/vsftpd
#創建虛擬賬號對應的系統賬號
for i in ` cat /etc/passwd|awk -F: ‘{print $1}‘`
do
if [ $i != "ftpuser" ];then
useradd -d /var/ftp/share ftpuser
chmod -R 500 /var/ftp/share
fi
if [ $i != "ftpvip" ];then
useradd -d /var/ftp/vip ftpvip
chmod -R 700 /var/ftp/vip
fi
done &>/dev/null

#配置主文件
SOURCE=/etc/vsftpd/vsftpd.conf
sed -i ‘s/anonymous_enable=YES/anonymous_enable=NO/‘ $SOURCE
sed -i ‘s/local_enable=YES/local_enable=YES/‘ $SOURCE
echo "user_config_dir=/etc/vsftpd/vuserconfig">>$SOURCE
echo "max_clients=300">>$SOURCE
echo "max_per_ip=10">>$SOURCE

#建立虛擬賬號配置文件
mkdir /etc/vsftpd/vuserconfig
touch /etc/vsftpd/vuserconfig/commuser
touch /etc/vsftpd/vuserconfig/vipuser
echo -e "guest_enable=yes\nguest_username=ftpuser\nanon_world_readable_only=no\nanon_max_rate=50000">/etc/vsftpd/vuserconfig/commuser
echo -e "guest_enable=yes\nguest_username=ftpvip\nanon_world_readable_only=no\nwrite_enable=yes\nanon_mkdir_write_enable=yes\nanon_upload_enable=yes\nanon_max_rate
=100000">/etc/vsftpd/vuserconfig/vipuser
service vsftpd restart


}


本文出自 “Linux_小紅帽” 博客,請務必保留此出處http://baidjay.blog.51cto.com/12582052/1964339

linux系統腳本配置ftp服務器