Centos 7 创建ftp 匿名登录和专用用户名登录可上传下载

一、FTP简介

FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准协议,广泛应用于服务器与客户端之间的文件上传、下载和管理。它基于客户端-服务器模型,使用TCP/IP协议实现可靠传输。

1.1 工作原理

FTP采用双通道通信机制,包括控制连接和数据连接。控制连接默认使用端口21,用于发送命令和接收响应;数据连接默认使用端口20,用于实际文件传输。根据连接模式不同,分为主动模式(PORT)和被动模式(PASV)。

主动模式:客户端向服务器发送IP和端口,服务器主动连接客户端。

被动模式:服务器返回IP和端口,客户端发起数据连接。

1.2 常见用途

网站维护:上传网页文件到服务器。

批量数据传输:企业间大文件交换。

远程备份:定期将数据备份至FTP服务器。

软件分发:提供安装包下载服务。

1.3 优缺点分析

优点:

支持断点续传和批量操作。

跨平台兼容性强。

提供用户认证和权限管理。

缺点:

明文传输存在安全隐患。

配置防火墙规则较复杂。

需依赖专用客户端或命令行操作。

1.4 安全改进方案

为提高安全性,可采用以下衍生协议:

SFTP:基于SSH加密的SSH文件传输协议。

FTPS:支持SSL/TLS加密的FTP协议。

1.5 常用工具推荐

FileZilla:开源跨平台FTP客户端。

WinSCP:支持SFTP的Windows客户端。

命令行工具:如Linux的ftp命令或Windows的ftp.exe。

示例连接命令:

ftp hostname

username

password

bash

二、更换YUM 源

1、备份现有配置文件:

cp /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup.repo/

bash

2 、使用阿里yum源

wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

bash

3、清除 YUM 缓存

yum clean all

yum makecache

bash

三、安装

在CentOS 7上搭建FTP服务器,通常使用vsftpd(Very Secure FTP Daemon)。运行以下命令安装:

yum install -y vsftpd

bash

3.1 启动 vsftpd 服务

安装完成后,启动服务并设置开机自启:

systemctl start vsftpd

systemctl enable vsftpd

bash

3.2 配置防火墙

允许FTP服务通过防火墙。FTP默认使用21端口:

firewall-cmd --permanent --add-service=ftp

firewall-cmd --reload

bash

3.3 基本配置文件修改

编辑/etc/vsftpd/vsftpd.conf文件,进行以下配置:

anonymous_enable=NO # 禁止匿名登录

或者anonymous_enable=YES #允许匿名登录 默认路径是

3.4 创建FTP用户(user1 文件夹只能由user1 这个账户登录打开)

为FTP服务创建专用用户,并设置密码:

useradd -d /var/ftp/user1 -s /sbin/nologin user1

passwd user1

bash

将/var/ftp/user1设置为user1用户的家目录,禁止Shell登录。

3.5 设置目录权限

确保FTP用户对家目录有读写权限:

chown -R user1:user1 /var/ftp/user1

chmod 750 /var/ftp/user1 (可读写文件)

chmod 750 /var/ftp/user1(只读文件)

bash

3.6 配置SELinux

如果系统启用了SELinux,需要调整策略以允许FTP访问:

setsebool -P allow_ftpd_full_access on

3.7 重启 vsftpd 服务

修改配置后,重启服务使更改生效:

systemctl restart vsftpd

四、测试FTP连接

使用FTP客户端(如FileZilla)或命令行测试连接:

ftp localhost

bash

输入用户名和密码后,检查文件上传和下载功能是否正常。

4.1 高级配置选项

如需更复杂的配置,可考虑以下选项:

限制用户访问范围:通过chroot_local_user=YES将用户限制在家目录。

被动模式设置:配置pasv_min_port和pasv_max_port指定被动模式端口范围。

SSL/TLS加密:配置ssl_enable=YES启用加密传输。

4.2 日志查看

FTP日志默认位于/var/log/xferlog,可通过以下命令查看:

tail -f /var/log/xferlog

相关推荐
A小辣椒8 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒12 小时前
TShark:基础知识
linux
AlfredZhao14 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux