由于工作中有搭建ftp服务器,但是每次搭建有比较麻烦。于是编写了个shell脚本,在此将脚本共享给大家,如有疑问请联系QQ:403182580
默认创建vsftp用户:dyc
密码:dyc
ftp数据存放目录:/data/ftp
#!/bin/bash #本脚本为自动化安装vsftp,使用虚拟用户认证登录ftp上传下载文件 echo ====================================================== read -p "请输入ftp用户:" ftp_user if [ `echo ${#ftp_user}` -eq 0 ];then ftp_user=dyc fi echo ====================================================== read -p "请输入ftp密码:" 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 ====================================================== #vsftpd软件 yum -y install vsftpd #生成虚拟用户认证数据文件 yum -y install db4-utils mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak #配置vsftpd 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 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 #区别系统是32位还是64位 if ls -l /|grep -c lib64;then echo "auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">> /etc/pam.d/vsftpd.vu echo "account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">> /etc/pam.d/vsftpd.vu else echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">> /etc/pam.d/vsftpd.vu echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">> /etc/pam.d/vsftpd.vu 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:root $ftp_data chmod o+rw $ftp_data /etc/init.d/vsftpd restart
本文出自 “openvpn搭建” 博客,请务必保留此出处http://lovesource.blog.51cto.com/1454821/1574023
原文地址:http://lovesource.blog.51cto.com/1454821/1574023