#安装vsftpd
yum -y install vsftpd
#配置主配置文件
vim /etc/vsftpd/vsftpd.conf
#服务器设定
max_clients=100000
max_per_ip=100
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
force_dot_files=YES
listen=YES
allow_writeable_chroot=YES
local_root=/data/ftp_root
anon_root=/data/ftp_root
chroot_local_user=YES
pam_service_name=vsftpd
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
banner_file=/etc/vsftpd/welcome.txt
#超时设置
idle_session_timeout=600 #(用户会话空闲后10分钟)
data_connection_timeout=600 #(将数据连接空闲10分钟断)
accept_timeout=600 #(将客户端空闲10分钟后断)
connect_timeout=60 #(中断1分钟后又重新连接)
local_max_rate=0 #(本地用户传输率不限制)
anon_max_rate=0 # (匿名用户传输率不限制)
#虚拟用户设定
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vuserconfig
#anonymous 设定
anonymous_enable=NO
anon_other_write_enable=NO
anon_mkdir_write_enable=NO
anon_upload_enable=NO
#严格账号选项
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
#pasv_enable=YES
pasv_enable=NO
pasv_min_port=10000
pasv_max_port=20000
#增加虚拟用户
useradd vftpuser -s /sbin/nologin
#增加虚拟用户目录
mkdir -pv /etc/vsftpd/vuserconfig
#增加ftp根目录
mkdir -pv /data/ftp_root
#欢迎标语
echo “wellcome to da sha ftp service!” >/etc/vsftpd/welcome.txt
#配置用户模板
cat > /etc/vsftpd/vuserconfig/testuser <<EOF
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/ftp_root
EOF
#重启VSFTPD
systemctl restart vsftpd
#添加一个简单的用户管理脚本
vim manager_ftpuser.sh
#!/bin/bash
#author by zcx
#data: 20210413
USER_LIST=/etc/vsftpd/user_list
USER_FILE=/etc/vsftpd/vftpuser.txt
USER_DB=/etc/vsftpd/vftpuser.db
DB_LOAD=`which db_load`
cat <>$USER_LIST
echo $USER >>$USER_FILE
echo $PWD >>$USER_FILE
cp /etc/vsftpd/vuserconfig/testuser /etc/vsftpd/vuserconfig/$USER
$(which db_load) -T -t hash -f $USER_LIST $USER_DB
echo "Add user $USER success"
fi
elif [ $NUM -eq 2 ]; then
read -p "Please input delete username? " USER
grep ^$USER$ $USER_LIST
if [ $? -eq 0 ]; then
ROW=$(grep -n "^${USER}$" $USER_FILE | awk -F: '{print $1}')
sed -i "/^$USER/"d $USER_LIST
sed -i "${ROW}d" $USER_FILE
sed -i "${ROW}d" $USER_FILE
rm -f /etc/vsftpd/vuserconfig/$USER
echo "Delete user $USER success"
else
echo "User $USER is not exist,Please check user_list"
fi
else
echo "Input error,Please input 1 or 2."
echo "Please re-run the script"
fi
#执行按提示操作即可
[root@server vsftpd]# sh manager_ftpuser.sh
1、Add User
2、Delete User
what are you want to do?( 1 or 2):1
#客户端配置,略
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/slapping/2856255,作者:类似简单,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。