189 8069 5689

Centos7配置vsftpd

基本安装

创新互联服务项目包括商丘网站建设、商丘网站制作、商丘网页制作以及商丘网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,商丘网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到商丘省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

yum install vsftpd

然后编辑配置文件/etc/vsftpd/vsftpd.conf

关闭匿名访问

anonymous_enable=NO

开启日志

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

开启本地用户限制(假根)

chroot_local_user=YES

配置限制的用户能有写权限

allow_writeable_chroot=YES

守护模式(还有一种是独立模式,大规模访问使用)

listen=NO

到此为止,重启ftp服务,就可以正常使用本地用户登录。

/etc/vsftpd/目录下:

ftpusers:此文件是pam限制ftp用户访问登录(可以查看/etc/pam.d/vsftpd)。

user_list: 此文件是vsftpd服务本身限制ftp用户访问登录

配置FTP虚拟用户

(一旦开启虚拟用户配置,本地用户就访问失效,因为需要配置pam)

1.添加到配置文件末尾

# virtual user defined

guest_enable=YES

虚拟用户的宿主用户

guest_username=vftpuser

user_config_dir=/etc/vsftpd/userconf

2.创建虚拟用户和密码:

vi /etc/vsftpd/vftpuser.txt

添加用户和密码(例如)

zhangsan

123456

lisi

654321

然后再将txt文件转化为db文件(db_load命令需要安装)

db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db

3.修改ftp认证方式,编辑/etc/pam.d/vsftpd

先注释全部,然后添加下面配置

auth       required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

account    required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

4.然后创建虚拟用户自己的配置文件

进入配置目录/etc/vsftpd/userconf

创建和虚拟用户用户名相同的文件

vi zhangsan

添加下面配置,使虚拟用户可以增删改查

local_root=/ftp/upload

write_enable=YES

virtual_use_local_privs=YES

5.最后重启服务

注意:ftp服务器使用虚拟用户更加安全

附录:vsftpd配置主动模式和被动模式及其原理
原理 :
主动 FTP :
命令连接:客户端 >1024 端口 → 服务器 21 端口
数据连接:客户端 >1024 端口 ← 服务器 20 端口
被动 FTP :
命令连接:客户端 >1024 端口 → 服务器 21 端口
数据连接:客户端 >1024 端口 ← 服务器 >1024 端口
介绍:
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
     PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。概括一下就是:主动模式:服务器向客户端敲门,然后客户端开门被动模式:客户端向服务器敲门,然后服务器开门所以,如果你是如果通过代理上网的话,就不能用主动模式,因为服务器敲的是上网代理服务器的门,而不是敲客户端的门而且有时候,客户端也不是轻易就开门的,因为有防火墙阻挡,除非客户端开放大于1024的高端端口

主动配置参数:
port_enable=YES|NO
  如果你要在数据连接时取消PORT模式时,设此选项为NO。默认值为YES。
  connetc_from_port_20=YES|NO(默认配置文件写了YES)
  控制以PORT模式进行数据传输时是否使用20端口(ftp-data)。YES使用,NO不使用。默认值为NO,但RHL自带的vsftpd.conf文件中此参数设为YES。
  ftp_data_port=port number
  设定ftp数据传输端口(ftp-data)值。默认值为20。此参数用于PORT FTP模式。
  port_promiscuous=YES|NO
默认值为NO。为YES时,取消PORT安全检查。该检查确保外出的数据只能连接到客户端上。小心打开此选项。

被动配置参数:
    pasv_enable=YES|NO
  YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES。
  pasv_min_port=port number
  pasv_max_port=port number
  设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。

注意:
1.注意防火墙的配置
2.不管服务器端是主动还是被动,客户端用ftp连接时,用的passive模式



当前文章:Centos7配置vsftpd
网站网址:http://cdxtjz.cn/article/giecie.html

其他资讯