vsftpd由vsftpd包提供,默认不再由xinetd管理,当然我们是可以配置成非独立服务的,让它由xinetd服务带管。用户认证配置文件:/etc/pam.d/vsftpd,服务脚本:centos7上是/usr/lib/systemd/system/vsftpd.service,centos6上是/etc/rc.d/init.d/vsftpd;服务主配置文件是:/etc/vsftpd/vsftpd.conf
其中/etc/vsftpd/vsftpd.conf 可以通过man 5 vsftpd.conf 来查看配置文件帮助,它里面的格式是选项=value的格式,等号前后不能有多余的空格,否则服务将无法正常启动。匿名用户(映射为系统用户ftp)共享文件位置上:/var/ftp,这个目录就是默认ftp的共享目录;系统用户共享文件位置就是用户的家目录;虚拟用户共享文件位置:为其映射到系统用户家目录
五、vsftpd服务配置
命令端口的配置:命令端口的指定有listen_port=xx来指定,不写在配置文件中表示使用默认的命令端口21
主动模式端口:connet_from_port_20=YES 表示主动模式端口为20;ftp_data_port=xx表示指定主动模式的端口,默认是20
被动端口范围:Linux客户端默认使用被动模式,Windows客户端默认使用主动模式;pasv_min_port=xxx;pasv_max_port=xxx通过这两条选项来指定ftp最小连接端口和最大的连接端口,这样配置后,数据端口就只能使用在指定这个范围内的端口。其中0表示随机分配端口
使用当地时间:use_localtime=YES默认的配置上NO,使用GMT
关于匿名用户的配置:
anonymous_enable=YES 支持匿名用户
no_anon_password=YES(默认NO) 匿名用户略过口令检查
anon_world_readable_only (默认YES)只能下载全部读的文件
anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录
anon_umask=0333 指定匿名上传文件的umask,默认077
anon_other_write_enable=YES 可删除和修改上传的文件
指定上传文件的默认的所有者和权限
chown_uploads=YES(默认NO)
chown_username=wang
chown_upload_mode=0644
关于Linux系统用户的配置
local_enable=YES 是否允许linux用户登录
write_enable=YES 允许linux用户上传文件
local_umask=022 指定系统用户上传文件的默认权限
guest_enable=YES 所有系统用户都映射成guest用户
guest_username=ftp 配合上面选项才生效,指定guest用户
local_root=/ftproot guest用户登录所在目录
这里需要说一下,映射成guest用户后,用户登录所指定的目录,不能有guest所指定的用户有可写的权限,否则用户无法登陆。也就是说ftp的根目录是不能有当前用户的写权限的。
禁锢所有系统用户在家目录中
chroot_local_user=YES(默认NO,不禁锢)禁锢系统用户
chroot_list_enable=YES开启禁锢列表
chroot_list_file=/etc/vsftpd/chroot_list禁锢或不禁锢用户的名单文件,当chroot_local_user=YES时,则chroot_list中的用户不禁锢(白名单),当chroot_local_user=NO时,chroot_list中的用户禁锢(黑名单)
wu-ftp日志:默认启用
xferlog_enable=YES (默认) 启用记录上传下载日志
xferlog_std_format=YES (默认) 使用wu-ftp日志格式
xferlog_file=/var/log/xferlog (默认)可自动生成
vsftpd日志:默认不启用
dual_log_enable=YES 使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log(默认)可自动生成
登录提示信息
ftpd_banner=“welcome to mage ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt 优先上面项生效
目录访问提示信息
dirmessage_enable=YES (默认)
message_file=.message(默认) 信息存放在指定目录下.message
使用pam(Pluggable Authentication Modules)完成用户认证
pam_service_name=vsftpd
pam配置文件:/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers 默认文件中用户拒绝登录,当然具体这里面的用户数拒绝还是允许需要看/etc/pam.d/vsftpd 是怎么定义的了
[root@test ~]#cat /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@test ~]#