基于 CentOS 搭建 FTP 文件服务

简介: 本文测试环境 1、Centos 7 2、测试服务器IP 192.168.1.

本文测试环境
1、Centos 7
2、测试服务器IP 192.168.1.170

1、安装并启动 FTP 服务

1.1 安装 VSFTPD

使用 yum 安装 vsftpd

yum install -y vsftpd 

1.2 启动 VSFTPD

安装完成后,启动 FTP 服务:

service vsftpd start

启动后,可以看到系统已经监听了 21 端口:

netstat -nltp | grep 21

此时,访问 ftp://192.168.1.170 可浏览机器上的 /var/ftp目录了。

2、配置 FTP 权限

2.1 了解 VSFTP 配置

vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:

  • vsftpd.conf 为主要配置文件
  • ftpusers 配置禁止访问 FTP 服务器的用户列表
  • user_list 配置用户访问控制

2.2 阻止匿名访问和切换根目录

匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。

编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:

# 禁用匿名用户  12 YES 改为NO
anonymous_enable=NO

# 禁止切换根目录 101 行 删除#
chroot_local_user=YES 

编辑完成后保存配置,重新启动 FTP 服务

service vsftpd restart

2.3 创建 FTP 用户

创建一个用户 ftpuser

useradd ftpuser

为用户 ftpuser 设置密码

echo "javen205" | passwd ftpuser --stdin

2.4 限制该用户仅能通过 FTP 访问

限制用户 ftpuser只能通过 FTP 访问服务器,而不能直接登录服务器:

usermod -s /sbin/nologin ftpuser

2.5 为用户分配主目录

为用户 ftpuser创建主目录并约定:

/data/ftp 为主目录, 该目录不可上传文件
/data/ftp/pub 文件只能上传到该目录下

/data中创建相关的目录

mkdir -p /data/ftp/pub

2.5.1 创建登录欢迎文件

echo "Welcome to use FTP service." > /data/ftp/welcome.txt

设置访问权限

chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub

设置为用户的主目录:

usermod -d /data/ftp ftpuser

3、访问FTP

根据您个人的工作环境,选择一种方式来访问已经搭建的 FTP 服务

注意:记得关闭防火墙或者开放FTP默认端口(21)

# 关闭SELinux服务
setenforce 0 
# 关闭防火墙
iptables -F 
  • 通过 Windows 资源管理器访问

Windows 用户可以复制下面的链接
到资源管理器的地址栏访问:

ftp://ftpuser:javen205@192.168.1.170 

其中ftpuser为登录FTP的用户名,javen205为登录FTP的密码

  • 通过 FTP 客户端工具访问

FTP 客户端工具众多,下面推荐两个常用的:

WinSCP- Windows 下的 FTP 和 SFTP 连接客户端
FileZilla - 跨平台的 FTP 客户端,支持 Windows 和 Mac

推荐阅读
- 极速开发微信公众号
- 安装Mysql5.7并修改初始密码
- Centos7.3 安装Mysql5.7并修改初始密码
- MySql 5.7.18 数据库主从(Master/Slave)同步安装与配置详解
- IJPay让支付触手可及
- 10分钟搭建属于自己的ngork服务器,实现内网穿透

目录
相关文章
|
2月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
305 1
|
15天前
|
安全 网络安全
gbase8a centos8(kylinv10)加载报登录 ftp失败报错530 Login incorrect 排查过程及解决办法
centos8(kylinv10)加载报登录 ftp失败报错530 Login incorrect 排查过程及解决办法
|
4月前
|
Linux
2022年超详细如何使用Xftp连接CentOS 7来进行文件的传输【详细过程、图解】
这篇文章提供了使用Xftp工具连接到CentOS 7虚拟机进行文件传输的详细步骤和图解。步骤包括打开Xftp软件、创建新连接、查看并填写虚拟机的IP地址、输入虚拟机的连接账号密码,以及连接成功后进行文件传输。文章最后以"现场手撸、学无止境"作为结束语,鼓励读者不断学习和实践。
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
166 2
|
2月前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
174 1
|
1月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
2月前
|
网络安全 Windows
Jetson 学习笔记(十五):FTP协议传输文件
本文介绍了如何使用WinSCP软件通过FTP协议在Windows和Jetson设备之间传输文件,并分享了一些操作经验和技巧。
37 0
Jetson 学习笔记(十五):FTP协议传输文件
|
2月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
59 1
|
3月前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
198 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
3月前
|
Linux
CentOS 7.x时间同步服务chrony配置详解
文章详细介绍了在CentOS 7.x系统中如何安装和配置chrony服务,以及它与ntpd服务的对比,强调了chrony在时间同步方面的高效性和准确性。
288 2

热门文章

最新文章