vsftpd 配置
相关文件
主配置文件
/etc/vsftpd/vsftpd.conf
用户控制列表文件(默认黑名单)
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
相关用户
匿名用户
-
ftp
-
anonymous
本地用户
- linux系统用户
虚拟用户
- 模拟用户
配置文件
默认配置文件
anonymous_enable=NO #禁止匿名用户登录
local_enable=YES #本地用户允许登录
local_umask=022
dirmessage_enable=YES # .message文件信息,欢迎信息
message_file=.message
xfcerlog_enable=YES # 日志
connect_from_port_20=YES #主动模式
xferlog_std_format=YES # 使用标准的ftp日志格式
ftpd_banner #banner
listen=YES
pam_service_name=vsftpd # 设置PAM模块提供的认证服务使用的配置文件名,即/etc/pam.d/vsftpd
userlist_enable=YES
tcp_wrappers=YES
# 常用全局配置
listmen_address=XXX.XXX.XXX.XXX
listen_port=21
download_enable=YES # 允许下载文件
max_clients=0 #限制客户端连接数
max_per_ip=0 #限制同一IP地址的并发连接数
# 被动模式
pasv_enable=YES
pasv_min_port=XXXX
pasv_max_port=XXXXX
# 安全配置
accept_timeout=60 # 被动模式,超时
connect_timeout=60 #主动模式,超时
idle_seesion_timeout=600 #600s,无操作,断开
data_connection_timeout=500 # 传输文件超过500s,断开传输
匿名用户访问
anno_upload_enable=YES # 上传(新建文件)
anno_mkdir_write_enable=YES # (新建目录)
anno_umask=600 # 默认上传文件权限
- 默认上传目录:
/var/ftp/pub/
- 如果允许上传,服务权限与系统目录权限要同时允许
- vsftpd服务的伪用户是ftp
本地用户访问
# 基本配置在默认配置里已经包括
local_root=/var/ftp # 设置本地用户的ftp根目录(注意权限)
local_max_rate=0 #限制最大传输速率 字节/秒
chroot_local_user=YES # 将用户限制在家目录中,不允许向上切换
# 不限制部分用户切换上层目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# 在/etc/vsftpd/chroot_list用户不会被限制
# 访问控制
user_list_enable=YES #开启访问控制
#
userlist_deny=YES #使得user_list为黑名单
userlist_file=/etc/vsftpd/user_list #
虚拟用户访问
# 1.添加虚拟用户口令
vim /etc/vsftpf/vuser.txt
username_1
passwd_1
username_2
passwd_2
# 2.生成虚拟用户口令认证文件
yum -y install db4-utils
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
#3.编辑vsftpd的PAM认证文件,注释掉其他行,可以禁止掉其他本地用户登录,因为本地用户登录依赖此文件
vi /etc/pam.d/vsftpd
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
# 4.建立本地映射用户并设置宿主目录权限
useradd -d /home/vftproot -s /sbin/nolohin vuser
chmod 755 /home/vftproot
# 5.修改配置文件
guest_enable=YES # 开启虚拟用户
guest_username=vuser # Ftp虚拟用户对应的系统用户
pam_service_name=vsftpd #PAM认证文件
# 6.重启vsftpd服务
# 此时虚拟用户可以登录,下载,查看,但不能上传
# 默认位置是宿主家目录
# 7.调整虚拟用户权限
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#允许所有虚拟用户上传