设为首页 收藏本站
查看: 921|回复: 0

[经验分享] Centos7配置vsftpd

[复制链接]

尚未签到

发表于 2018-4-22 11:37:17 | 显示全部楼层 |阅读模式
  基本安装

  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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-450382-1-1.html 上篇帖子: centos7.2 yum 安装php nginx 下篇帖子: Centos挂载windows域控共享目录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表