centos7 vsftp搭建ftp服务器,实现虚拟用户登录

一、安装vsftp及需要的软件包

yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tcl

安装完vsftp后,会自动创建一个ftp用户
cat /etc/passwd  查看,ftp的home目录:/var/ftp

在这里插入图片描述

二、配置vsftp

配置的详细信息可以参考:
https://www.cnblogs.com/ssrs-wanghao/articles/13751408.html
官方文档:http://vsftpd.beasts.org/vsftpd_conf.html

cd /etc/vsftp
vim /etc/vsftp/vsftp.conf

配置文件如下:

anonymous_enable=NO
local_enable=YES
# 虚拟用户可上传、下载、新建文件和目录、禁止修改文件和目录、禁止删除
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=NO

local_umask=022
anon_umask=022

dirmessage_enable=YES
#message_file=.message

xferlog_enable=YES

xferlog_file=/var/log/xferlog
xferlog_std_format=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
#
# You may change the default value for timing out an idle session.
idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
data_connection_timeout=600
#
ftpd_banner=Welcome to ftp service.
# 限制用户在指定目录
chroot_local_user=YES
#chroot_list_enable=YES

#port_enable=YES
#connect_from_port_20=YES
listen=YES
listen_port=21
listen_address=10.142.6.234
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
# hostname use
pasv_addr_resolve=NO
pasv_address=10.142.1.11
pasv_promiscuous=YES

tcp_wrappers=YES
# 禁用dns,如果打开ftp很慢,建议禁用
reverse_lookup_enable=NO
# 虚拟用户账号密码文件,默认路径 /etc/pam.d/
pam_service_name=vsftpd.virtual
userlist_enable=YES
userlist_deny=YES

guest_enable=YES
guest_username=ftp
# 虚拟用户配置文件夹
user_config_dir=/etc/vsftpd/vconf
virtual_use_local_privs=NO
allow_writeable_chroot=YES

# 是否启用ssl
ssl_enable=NO
allow_anon_ssl=YES
#force_local_data_ssl=YES
#force_local_logins_ssl=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
ssl_tlsv1=NO
ssl_sslv2=NO
ssl_sslv3=YES
require_ssl_reuse=NO
ssl_ciphers=HIGH
rsa_cert_file=/etc/vsftpd/.ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/.ssl/vsftpd.pem

三、建立虚拟用户和配置

1.建立虚拟用户并绑定

cd /etc/vsftp
vim vuser.list

user1
123456
user2
123456

一行用户,一行密码,一次排列
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/virtuser.db
vim /etc/pam.d/vsftpd.virtual

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

登录验证和帐号验证指定 /etc/vsftpd/virtuser.db

在这里插入图片描述
配置文件指定ftp用户为虚拟用户的宿主用户,不单独指定虚拟用户目录,登录会在ftp的home目录。

2.单独配置每个虚拟用户

mkdir /etc/vsftp/vconf
cd /etc/vsftp/vconf
vim user1

# 指定user1的登录目录
local_root=/var/ftp/user1dir
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=NO

mkdir /var/ftp/user1dir

虚拟用户配置文件名必须和虚拟用户名一致

四、常见错误

Error EElFTPSUnacceptedReplyError: Unaccepted server reply code 553

权限不够的问题:chown -R ftp:ftp /var/ftp

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值