#!/bin/bash
#安裝VSFTPD服務並使用匿名用戶登錄
#關閉sellinux
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
if [ $? -ne 0 ]
then
echo "執行命令失敗"
fi
#關閉防火牆
systemctl stop firewalld
if [ $? -ne 0 ]
then
echo "關閉防火牆失敗"
read -p "是否跳過此步?(yes or no)":no ifs
if [ $ifs -eq "no" ]
then
echo "正在退出此腳本"
sleep 1
fi
else
echo "關閉防火牆成功"
fi
#yum安裝vsftpd
yum -y install vsftpd
if [ $? -eq 0 ]
then
echo "vsftpd安裝完成。"
else
echo "vsftpd安裝失敗。"
fi
#配置匿名用戶
useradd vsftpd -d /home/vsftpd -s /bin/false
mkdir -p /home/vsftpd/hanshuqiang
echo "hanshuqiang" >> /etc/vsftpd/loginusers.conf
echo "123456" >> /etc/vsftpd/loginusers.conf
db_load -T -t hash -f /etc/vsftpd/loginusers.conf /etc/vsftpd/loginusers.db
chmod 777 /etc/vsftpd/loginusers.db
sed -i 's/^.*/#&/' /etc/pam.d/vsftpd
sed -i '2i\auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers' /etc/pam.d/vsftpd
sed -i '3i\account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers' /etc/pam.d/vsftpd
mkdir /etc/vsftpd/userconf
echo "local_root=/home/vsftpd/hanshuqiang/" >> /etc/vsftpd/userconf/hanshuqiang
echo "write_enable=YES" >> /etc/vsftpd/userconf/hanshuqiang
chmod 777 /home/vsftpd/hanshuqiang
chown vsftpd:vsftpd /home/vsftpd/hanshuqiang
#最後修改主配置文件
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#ascii_upload_enable=YES/ascii_upload_enable=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#ascii_download_enable=YES/ascii_download_enable=YES/' /etc/vsftpd/vsftpd.conf
echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "guest_username=vsftpd" >> /etc/vsftpd/vsftpd.conf
echo "user_config_dir=/etc/vsftpd/userconf" >> /etc/vsftpd/vsftpd.conf
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "virtual_use_local_privs=YES" >> /etc/vsftpd/vsftpd.conf
systemctl start vsftpd
#增加開機啓動
systemctl enable vsftpd
if [ $? -eq 0 ]
then
echo "vsftpd配置完成。"
echo "vsftpd服務已啓動。"
else
echo "vsftpd配置失敗。"
fi