文章目录[隐藏]
文章目录
环境需求
centos7、6
FTP服务器
FTP虚拟用户登录,独立目录
依赖安装
软件依赖
yum install vsftpd libdb-utils -y
创建本地用户和虚拟用户
创建用户列表
cat >/etc/vsftpd/vuser.list <<EOF
test
88889999
test1
88889999
test2
88889999
EOF
建立虚拟用户数据库
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
创建虚拟用户的pam认证文件
cat >/etc/pam.d/vuser<< EOF
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
EOF
创建虚拟用户映射的到系统用户,并创建虚拟用户目录。
useradd -s /sbin/nologin -d /var/vuser vuser
mkdir /var/vuser/test
mkdir /var/vuser/test1
mkdir /var/vuser/test2
chown vuser.vuser /var/vuser/test*
配置文件
vsftp配置文件
cat >/etc/vsftpd/vsftpd.conf<<EOF
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
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vuser
pam_service_name=vuser
user_config_dir=/etc/vsftpd/vuser_conf_dir/
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30009 # 被动模式的端口范围,除了开放21端口,还需要防火墙开放30000到30009的端口
pasv_address=192.168.4.210 # 对应自己的监听ip
EOF
用户独立配置文件(利用匿名登陆模式的参数)
mkdir /etc/vsftpd/vuser_conf_dir
cat >/etc/vsftpd/vuser_conf_dir/test<<EOF
local_root=/var/vuser/test
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
EOF
cat > /etc/vsftpd/vuser_conf_dir/test1<<EOF
local_root=/var/vuser/test1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
EOF
cat > /etc/vsftpd/vuser_conf_dir/test2<<EOF
local_root=/var/vuser/test2
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
EOF