当前位置: 首页 > news >正文

ftp服务详解

介绍

FTP服务器可以在局域网中快速传输文件,是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

安装

服务端:

yum install -y vsftpd

客户端:

yum install -y ftp lftp

配置ftp服务

cat /etc/vsftpd/vsftpd.conf
# 是否开启匿名用户,匿名都不安全,设置为NO
anonymous_enable=NO# 打开主动模式
port_enable=YES
# 启动被动式联机(passivemode)
pasv_enable=YES# 允许本机账号登录FTP,这个设定值必须要为YES时,在/etc/passwd内的账号才能以实体用户的方式登入我们的vsftpd主机
local_enable=YES
# 允许账号都有写操作
write_enable=YES# 本地用户创建文件或目录的掩码,意思是指:文件目录权限:777-022=755,文件权限:666-022=644
local_umask=022# 进入某个目录的时候,是否在客户端提示一下
dirmessage_enable=YES# 当设定为YES时,使用者上传与下载日志都会被记录起来
xferlog_enable=YES
# 设置日志std格式
xferlog_std_format=YES
# 上传与下载日志存放路径
xferlog_file=/var/log/ftp_xferlog# 开放port模式的20端口的连接
connect_from_port_20=YES
# 默认端口21
# listen_port=21
# 监听ipv4端口,开了这个就说明vsftpd可以独立运行,不用依赖其他服务,这里设置为NO
listen=NO
# 监听ipv6端口
listen_ipv6=YES
# 被动模式起始端口,0为随机分配
pasv_min_port=64000
# 被动模式结束端口,0为随机分配
pasv_max_port=65000# 禁止client使用ASCII格式上传/下载档案,如果设置为YES,可能会导致DoS的攻击
ascii_upload_enable=NO
ascii_download_enable=NO# 通过搭配能实现以下几种效果:
# ①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录
# ②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录
# ③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录
# ④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录
chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list# 当启用了 chroot_local_user=YES时,vsftpd 默认要求用户的主目录不能有写权限,如果设置 allow_writeable_chroot=YES:则允许被限制的用户主目录拥有写权限
allow_writeable_chroot=YES# 开启白名单,允许登录的名单,在/etc/vsftpd/user_list文件中添加用户
userlist_enable=YES
# 开启黑名单,禁止登录的名单,前提是userlist_enable=YES,在/etc/vsftpd/ftpusers文件中添加用户
userlist_deny=YES# Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性
tcp_wrappers=YES# FTP访问目录
local_root=/data/ftp# pam模块的名称,我们放置在/etc/pam.d/vsftpd,认证用
pam_service_name=vsftpd

根据上述配置文件配置完之后,实现:

  1. 允许登录的用户写入到/etc/vsftpd/user_list文件中
  2. 禁止登录的用户写入到/etc/vsftpd/ftpusers文件中
  3. 所有用户都被限制到/data/ftp目录,不能访问/data/ftp目录以外的目录,想要不受限制,可以把用户加入到/etc/vsftpd/chroot_list文件中。

启动ftp服务

systemctl restart vsftpd.service
systemctl status vsftpd.service
systemctl enable vsftpd.service

搭建完成,之后测试是否正常即可。

http://www.aitangshan.cn/news/201.html

相关文章:

  • 八数码(bfs)
  • 我真的绷不住了
  • 欧拉回路
  • 8月11号
  • Orleans框架
  • ABC418——XNOR - love
  • 代码随想录算法训练营第五天(哈希表篇)|Leetcode242有效的字母异位词,Leetcode349两个数组的交集,Leetcode202快乐数,Leetcode1两数之和
  • 7种形态图
  • 百度智能云给“数字人”发工牌 - 详解
  • 1
  • 2025.8.11.模拟赛题目记录
  • Mysql 授予root在任意主机访问数据库的权限
  • Awesome Claude Code 资源大全
  • JAVA方法
  • echarts初始化占不满div, F12后又占满了
  • docker Ubuntu Docker 安装
  • arm LDR指令
  • QNAP QTS SSL Certificate 证书更新修复
  • Python入门学习(九)Python的高级语法与用法(二)闭包
  • 工程师团队如何打造4K流媒体设备的创新技术
  • 【题解】P4063 [JXOI2017] 数列
  • mount: /mnt/hgfs/vm_share: unknown filesystem type vmhgfs - hbg
  • 8月11日总结
  • OpenCV-鱼眼相机图像处理
  • 新高一暑假二期集训 Week 1
  • ZR 25 summer D6T1 题解 | 思维、数学(计算几何)
  • 线程安全的集合类 ConcurrentQueue、ConcurrentStack、BlockingCollection、ConcurrentBag、ConcurrentDictionary
  • 【自学嵌入式:stm32单片机】对射式红外传感器记次
  • Rime-weasel 中州韻輸入法-小狼毫 输入法候选框不显示拼音的解决办法
  • 从美世《中国员工敬业度员工体验白皮书》看AI如何改善员工体验