首页 > 系统相关 >Centos7 安装配置FTP服务

Centos7 安装配置FTP服务

时间:2023-04-07 11:22:40浏览次数:41  
标签:FTP enable NO Centos7 vsftpd chroot ftp YES 安装

1、FTP简介
ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端
2、关闭防火墙设置selinux
systemclt stop firewalld.service && systemclt disable firewalld.service
SELINUX=disabled

setenforce 0使修改立即生效

3、安装FTP
yum install vsftpd* -y
打印vsftpd安装后的配置文件路径
rpm –ql vsftpd | more

4、修改配置文件
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
listen_ipv6=YES
port_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=64000
pasv_max_port=65000
local_root=/data/ftp/
# 是否开启匿名用户,匿名都不安全,默认NO
anonymous_enable=NO
# 允许本机账号登录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/xferlog
# 开放port模式的20端口的连接
connect_from_port_20=YES
# 关于系统安全的设定值:
# ascii_download_enable=YES(NO)
# 如果设定为YES,那么client就可以使用ASCII格式下载档案
# 一般来说,由于启动了这个设定项目可能会导致DoS的攻击,因此预设是NO
# ascii_upload_enable=YES(NO)
# 与上一个设定类似的,只是这个设定针对上传而言,预设是NO
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_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
# 可以更改ftp的端口号,使用默认值21
# listen_port=60021
# 监听ipv4端口,开了这个就说明vsftpd可以独立运行,不用依赖其他服务
listen=NO
# 监听ipv6端口
listen_ipv6=YES
# 打开主动模式
port_enable=YES
# 启动被动式联机(passivemode)
pasv_enable=YES
# 被动模式端口范围:注意:linux客户端默认使用被动模式,windows 客户端默认使用主动模式。在ftp客户端中执行"passive"来切换数据通道的模式。也可以使用"ftp -A ip"直接使用主动模式。主动模式、被动模式是有客户端来指定的
# 上面两个是与passive mode使用的port number有关,如果您想要使用64000到65000这1000个port来进行被动式资料的连接,可以这样设定
# 这两项定义了可以同时执行下载链接的数量
# 被动模式起始端口,0为随机分配
pasv_min_port=64000
# 被动模式结束端口,0为随机分配
pasv_max_port=65000
# 文件末尾添加
# 这个是pam模块的名称,我们放置在/etc/pam.d/vsftpd,认证用
pam_service_name=vsftpd
# 使用允许登录的名单,在/etc/vsftpd/user_list文件中添加新建的用户ftpuser
userlist_enable=YES
# 限制允许登录的名单,前提是userlist_enable=YES,其实这里有点怪,禁止访问名单在/etc/vsftpd/ftpusers
userlist_deny=NO
# 允许限制在自己的目录活动的用户拥有写权限
# 不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES
# 当然我们都习惯支持TCP Wrappers的啦
# Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性
tcp_wrappers=YES
# FTP访问目录
local_root=/data/ftp/ftpuser

5、创建ftp用户和目录
useradd -d /data/ftp/ -s /sbin/nologin ftpuser
passwd ftpuser
mkdir -pv /data/ftp
chown -R ftpuser /data/ftp
6、启动ftp服务
systemctl enable vsftpd.service && systemctl start vsftpd.service && systemctl status vsftpd.service

7、报错修改
ftp 192.168.33.207

530 Login incorrect.
Login failed.

vim /etc/pam.d/vsftpd
注释这一行

auth required pam_shells.so

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
421 Service not available, remote server has closed connection

vim /etc/vsftpd/vsftpd.conf
添加
allow_writeable_chroot=YES

7、登陆成功

标签:FTP,enable,NO,Centos7,vsftpd,chroot,ftp,YES,安装
From: https://www.cnblogs.com/mxjy/p/17295609.html

相关文章

  • DevEco Device Tool 3.1 Release新版本发布,新增资源管理器、SFTP、HDC
     DevEcoDeviceTool是面向智能设备开发者提供的一站式集成开发环境,支持代码编辑、编译、烧录和调试、性能监测等功能,支持C/C++语言,以插件的形式部署在VisualStudioCode(简称VSCode)上,支持Windows1064位或Ubuntu18.04-21.10版本。本次为大家带来的是DevEcoDeviceTool3.1......
  • apache的安装
          ......
  • ONLYOFFICE 安装对接指南
    ONLYOFFICE文档是一个在线办公套件,包括文本文档、电子表格和演示文稿的查看器和编辑器,与包括.docx、.xlsx、.pptx在内的OfficeOpenXML格式完全兼容,并支持实时协作编辑。为了安装这系统,也踩了不少坑,以下将我的安装过程分享下Docker安装添加docker下载仓库sudoyum-conf......
  • postman安装报错System.IO.DirectoryNotFoundException: 未能找到路径
    报这个错误   解决方案:1.在C:\Users\Administrator\AppData\Local\Postman\packages目录下找到Postman-8.0.8-full.nupkg文件,更名为Postman-8.0.8-full.zip,并解压到当前文件夹,如下图:  2.删除桌面postman快捷图标,发送C:\Users\Administrator\AppData\Local\Postman......
  • Centos7使用systemctl管理mysql8服务开机启动
    centos7下开机默认不执行原来配置启动命令的/etc/rc.local文件,建议使用systemctl管理自启动服务,如果要使用/etc/rc.local进行自启动,需要给文件/etc/rc.d/rc.local添加可执行权限。    systemctl常用命令如下:1.列出所有启动项命令systemctllist-unit-files开启的和未开启的......
  • K8S Metrics Server安装
     kubectlapply-f metrics-server-components.yaml apiVersion:v1kind:ServiceAccountmetadata:labels:k8s-app:metrics-servername:metrics-servernamespace:kube-system---apiVersion:rbac.authorization.k8s.io/v1kind:ClusterRolemetada......
  • Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
    JavaBasePooledObjectFactory对象池化技术通常一个对象创建、销毁非常耗时的时候,我们不会频繁的创建和销毁它,而是考虑复用。复用对象的一种做法就是对象池,将创建好的对象放入池中维护起来,下次再用的时候直接拿池中已经创建好的对象继续用,这就是池化的思想。ApacheCommonsPoo......
  • Nginx 安装和简单配置
    1.Nginx下载(以1.21.6为例)下载链接2.解压使用ftp工具上传到/opt路径下,用下面的命令解压tar-zxvfnginx-1.21.6.tar.gz3.编译和安装解压后的/opt/nginx-1.21.6/目录下有一个config的文件,执行该文件./config#如果需要开启ssl模块,需要执行以下命令(ssl模块开......
  • vue全家桶进阶之路27:Vue.js 3.0的下载和安装
    使用脚手架vue-cli创建vue3项目,创建前需要准备以下:1、node.js环境见:https://www.cnblogs.com/beichengshiqiao/p/17251233.html2、npm、cnpm工具见:https://www.cnblogs.com/beichengshiqiao/p/17251860.html3、vue框架见:https://www.cnblogs.com/beichengshiqia......
  • Linux(CentOS7) c语言编程, 多线程入栈出栈,错误:expected ‘while’ before ‘int’
    在Centos7里,编写多线程的入栈出栈时,出现这样错误提示:图片版: 文字版:[root@CentOs705-xitongbiancheng]#gcc05-24-01.pthread-cancel-pop-push.c-pthread05-24-01.pthread-cancel-pop-push.c:在函数‘func’中:05-24-01.pthread-cancel-pop-push.c:47:1:错误:expected......