次脚本主要是自动话安装vsftpd和配置添加虚拟用户脚本
# createby sjt
# date 2012-12-27
# version 0.1
#!/bin/bash
install_vsftp()
{
echo -e "\n\t install vsftpd "
if [ -d /etc/vsftpd ];then
echo "vsftpd already exist!"
elif [ `rpm -qa | grep 'db4-devel'` -a `rpm -qa| grep 'db4-utils'` ];then
echo -e "\t start install......"
yum install -y vsftpd
else
echo -e "\t install db*......"
yum install -y db4-devel
yum install -y db4-utils
echo -e "\t start install vsftpd......"
yum install -y vsftpd
fi
echo -e "\t###########################"
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" /etc/vsftpd/vsftpd.conf
sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" /etc/vsftpd/vsftpd.conf
sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" /etc/vsftpd/vsftpd.conf
sed -i "s/#chroot_local_user=YES/chroot_local_user=YES/g" /etc/vsftpd/vsftpd.conf
cat >>/etc/vsftpd/vsftpd.conf<<EOF
# Virtual
guest_enable=YES
guest_username=virtual_user
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
EOF
sed -i "s/^/#/g" /etc/pam.d/vsftpd
echo -e "auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login\naccount required /lib/security/pam_userdb.so
db=/etc/vsftpd/vsftpd_login " >>/etc/pam.d/vsftpd
useradd -d /home/ftpsite -s /sbin/nologin virtual_user
chmod 700 /home/ftpsite
mkdir -p /etc/vsftpd/vsftpd_user_conf
echo -e "write_enable=YES\n#cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,US
ER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT\nfile_open_mode=0444\nlocal_root=/home/ftpsite">/etc/vsftpd/vsftpd_user_conf/guest
exit 1
}
create_user()
{
echo -e "\n\t create virtual user"
read -p "input user "user
read -p "input password " passwd
echo -e "$user\n$passwd">>/etc/vsftpd/logins.txt
db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
cp /etc/vsftpd/vsftpd_user_conf/guest /etc/vsftpd/vsftpd_user_conf/$user
}
cat <<EOF
##########################################
# install_vsftpd #
# #
# 1.install vsftpd #
# 2.create virtual user #
# 3.quit #
# #
##########################################
EOF
read -p "NOW slect 1 or 2 or 3 "select
case"$select"in
"1")
install_vsftp
;;
"2")
create_user
;;
"3")
exit 1
;;
esac
删除