vsftpd的配置指令碼
阿新 • • 發佈:2018-12-09
#!/bin/bash
LUJING="/etc/vsftpd/vsftpd_login"
LUJING2="/etc/pam.d/vsftpd.vu"
echo ======================================================
read -p "請輸入使用者名稱:" ftp_user
if [ `echo ${#ftp_user}` -eq 0 ];then
ftp_user=dyc
fi
echo ======================================================
read -p "請輸入密碼:" ftp_passwd
if [ `echo ${#ftp_passwd}` -eq 0 ];then
ftp_passwd=dyc
fi
echo ======================================================
read -p "請輸入使用者目錄:" ftp_data
if [ `echo ${#ftp_data}` -eq 0 ];then
ftp_data=/data/ftp
fi
echo ======================================================
yum -y install vsftpd
yum -y install compat-db47
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
cat > /etc/vsftpd/vsftpd.conf<<EOF
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
allow_writeable_chroot=YES
EOF
cd /etc/vsftpd
touch /etc/vsftpd/user.txt
echo $ftp_user >> /etc/vsftpd/user.txt
echo $ftp_passwd >> /etc/vsftpd/user.txt
db_load -T -t hash -f user.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
touch /etc/pam.d/vsftpd.vu
if ls -l /|grep -c lib64;then
echo "auth required /lib64/security/pam_userdb.so db=$LUJING ">> $UJING2
echo "account required /lib64/security/pam_userdb.so db=$LUJING">> $UJING2
else
echo "auth required /lib/security/pam_userdb.so db=$LUJING">> $UJING2
echo "account required /lib/security/pam_userdb.so db=$LUJING">> $UJING2
fi
touch /etc/vsftpd/chroot_list
echo $ftp_user >>/etc/vsftpd/chroot_list
mkdir -p /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
cat > $ftp_user<<EOF
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
EOF
echo "local_root="$ftp_data>>$ftp_user
mkdir -p $ftp_data
chown -R ftp:ftp $ftp_data
chmod o+rw $ftp_data
systemctl restart vsftpd