一键安装vsftpd服务并开通ftp账户

一键安装脚本,直接在Centos服务器上一键安装vsftpd服务并开通ftp账户

#/bin/bash
 
###脚本使用说明
#bash   脚本名称          ftp账户  ftp密码   虚拟用户
#sh -x install-vsftpd.sh  xiaowu  xiaowu666  www
##01vsftpd用户
user=$1
pass=$2
codeuser=$3
 
##02安装和配置文件如下
/usr/bin/yum install vsftpd -y
cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak
echo " " > /etc/vsftpd/vsftpd.conf  
cat << EOF >/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
listen=YES
listen_port=2038
pasv_min_port=2037
pasv_max_port=2039
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
check_shell=YES
chroot_local_user=YES
guest_enable=YES
guest_username=$codeuser
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/extra
EOF
 
#03判断code用户是否存在,不存在创建
/usr/bin/id $3 >/dev/null
if [ $? -eq 1 ];then
     $(useradd ${codeuser} -s /sbin/nologin -M)
     sed -i "s#/home/$codeuser#/data/www#g" /etc/passwd
 else
    echo "user  have exsited" 
   sed -i "s#/home/$codeuser#/data/www#g" /etc/passwd
fi
 
##04创建用户权限
[ ! -d /etc/vsftpd/extra ]&&mkdir /etc/vsftpd/extra -p
 
cat << EOF >/etc/vsftpd/extra/$1
local_root=/data/www
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=3
max_per_ip=3
local_max_rate=500000
 
EOF
 
##05添加用户信息
cat <<EOF >/etc/vsftpd/vsftpd_login
$user
$pass
EOF
 
##06加密生成密码文件
/usr/bin/db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
 
##07将密码文件写入pam.d认证文件中
cat <<EOF >/etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
EOF
 
chown -R ${3}.${3} /data/www
##08启动vsftpd
/etc/init.d/vsftpd restart

摘自:

https://blog.csdn.net/baping8015/article/details/100952765

猜你喜欢

转载自www.cnblogs.com/fengjian2016/p/12460387.html