Centos7配置vsftpd

发布时间:2020-05-26 13:53:44 作者:vanche
来源:网络 阅读:409

基本安装

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模式



推荐阅读:
  1. FTP(vsftpd) for CentOS7
  2. vsftpd配置文件详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ftp ce tos

上一篇:易接母包,修改配置文件的自动方式

下一篇:如何在Linux中复制文档

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》