vsftpd所对应的rpm程序包就叫做vsftpd,安装方式有很多种,这里通过yum的方式来进行安装
yum install vsftpd -y
安装完成之后,用
rpm -ql vsftpd | less
会看到下面几个目录:
1、/etc/pam.d/vsftpd 用户认证配置文件
2、/etc/rc.d/init.d/vsftpd 服务脚本
3、/etc/vsftpd/vsftpd.conf 配置文件
4、/var/ftp 匿名用户(映射为系统用户ftp )共享文件位置
5、系统用户通过ftp访问的资源的位置:用户自己的家目录
6、虚拟用户通过ftp访问的资源的位置:给虚拟用户指定的映射成为的系统用户的家目录
在安装完成之后就可以通过:service vsftpd restart 来启动vsftpd服务了,当然我们可以通过修改vsftpd的配置文件来丰富vsftpd的功能。常用的修改有以下的内容:
1、匿名用户的配置:
anonymous_enable=YES :是否启用匿名用户
no_anon_password=YES :匿名用户略过口令检查
anon_upload_enable=YES :匿名用户是否具有上传的权限
anon_mkdir_write_enable=YES :匿名用户是否可以创建目录
anon_other_write_enable=YES :匿名用户除了具有写权限外是否可以删除和修改服务器上的其它文件
anon_umask=077 :匿名用户创建文件的掩码权限
2、系统用户的配置
guest_enable=YES :所有系统用户都映射成guest 用户
guest_username=ftp :配合上面选项才生效,指定guest 身份
local_enable=YES :是否允许本地用户登录
write_enable-YES :本地用户是否可以可写
local_umask=022 :本地用户的掩码信息
local_root=/ftproot :非匿名用户登录所在目录
3、禁锢所有的ftp本地(系统)用户于其家目录中
chroot_local_user=YES (默认NO ,不禁锢)
4、禁锢文件中指定的ftp本地用户于其家目录中
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
5、日志
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 使用vsftpd自己的日志文件
6、改变文件上传的属主
chown_uploads=YES
chown_username=whoever
7、vsftpd使用pam完成用户认证,其用到的pam配置文件
pam_service_name=vsftpd
8、是否启用控制用户登录的列表文件
userlist_enable=YES
userlist_deny=YES ( 默认值) 黑名单, 不提示口令,NO为白名单
userlist_file=/etc/vsftpd/users_list 默认文件
9、连接限制
max_clients=0 最大并发连接数
max_per_ip=0 每个IP可同时发起的并发请求数
10、传输速率(单位:字节/秒)
anon_max_rate 匿名用户的最大传输速率
local_max_rate 本地用户的最大传输速率
11、连接时间:秒为单位
connect_timeout=60 在主动连接方式下,在60秒内得不到客户端响应时强行断开
accept_timeout=60 在被动连接方式下60秒内得不到客户端的连接时强行断开
data_connection_timeout=300 300秒后无数据传输时断开连接
idle_session_timeout=60 无命令操作超时时长
12、其它相关参数
connect_from_port_20=YES :主动模式的端口号
listen_port=21 : vsftpd使用的命令通道监听端口
listen=YES :表示vsftpd以stsndalone(单机模式)启动
pasv_enable=YES :是否支持数据的被动模式传输,这里一定要设置为YES
tcp_wrappers=YES :是否支持TCPwrappers
pasv_min_port=0 , pasv_max_port=0 :这两个参数表示被动模式下服务端所使用的端口范围,如可以使用pasv_min_port=6000,pasv_max_port=6100表示端口在60000--61000之间,如果设置为0则表示随机端口不限制
另外vsftpd还支持基于ssl的安全会话链接,我们可以通过以下命令来查看下当前vsftpd是否已经具有ssl模块:
[root@centos6:~]#ldd $(which vsftpd) | grep ssl
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007fb5bb5a1000)
如果有相关信息显示,则表示是支持的,那接下来就可以修改vsftpd的配置文件来添加对ssl的支持,如下:
ssl_enable=YES 启动SSL的zhichi
allow_anon_ssl=NO 但是不允许匿名者使用SSL
force_local_data_ssl=YES 强制本地用户数据传输加密
force_local_logins_ssl=YES 同上,但连同登入时的账号也加密
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.perm 指定RSA加密的证书信息
我们可以根据自己的需求来修改或添加对应的参数信息,需要注意的是,在修改完配置文件之后是需要重启vsftpd服务才能生效的。