Linux下FTP服务器搭建

简介: Linux下FTP服务器搭建

一、FTP介绍

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

二、环境介绍

FTP服务端:hostname为control IP:192.168.200.150
FTP客户端:hostname为node1 IP: 192.168.200.135

三、FTP服务端搭建步骤

1.安装相关软件包

[root@control ~]# yum -y install ftp.x86_64 
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:01:45 ago on Tue 11 May 2021 06:57:05 PM CST.
Dependencies resolved.
====================================================================================================================================================================
 Package                            Arch                                  Version                                    Repository                                Size
====================================================================================================================================================================
Installing:
 ftp                                x86_64                                0.17-78.el8                                AppStream                                 70 k

Transaction Summary
====================================================================================================================================================================
Install  1 Package

Total size: 70 k
Installed size: 112 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                            1/1 
  Installing       : ftp-0.17-78.el8.x86_64                                                                                                                     1/1 
  Running scriptlet: ftp-0.17-78.el8.x86_64                                                                                                                     1/1 
  Verifying        : ftp-0.17-78.el8.x86_64                                                                                                                     1/1 
Installed products updated.

Installed:
  ftp-0.17-78.el8.x86_64                                                                                                                                            

Complete!

2.启动FTP并检查状态

[root@control ~]# systemctl enable --now vsftpd
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@control ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-05-11 18:59:51 CST; 9s ago
  Process: 2825 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 2826 (vsftpd)
    Tasks: 1 (limit: 24900)
   Memory: 864.0K
   CGroup: /system.slice/vsftpd.service
           └─2826 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

May 11 18:59:51 control systemd[1]: Starting Vsftpd ftp daemon...
May 11 18:59:51 control systemd[1]: Started Vsftpd ftp daemon.

3.检查服务端口运行状态

[root@control mail]# netstat -antup | grep ftp
tcp6       0      0 :::21                   :::*                    LISTEN      2826/vsftpd  

4.修改FTP配置文件

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES

5.关闭selinux及防火墙

 sed -i 's/SELINUX=enforcing/SELIUNUX=disabled/' /etc/selinux/config
 systemctl stop firewalld.service

备注:
防火墙如果要开启,则可开启以下端口:

firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=30000-35000/tcp --permanent

三、客户端操作

1.安装软件包

[root@node1 ~]# yum -y install lftp
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository AppStream is listed more than once in the configuration
Repository BaseOS is listed more than once in the configuration
ansiable                                                                                                                            0.0  B/s |   0  B     00:00    
Failed to synchronize cache for repo 'ansiable', ignoring this repo.
Last metadata expiration check: 0:00:17 ago on Tue 11 May 2021 07:04:23 PM CST.
Dependencies resolved.
====================================================================================================================================================================
 Package                            Arch                                 Version                                      Repository                               Size
====================================================================================================================================================================
Installing:
 lftp                               x86_64                               4.8.4-1.el8                                  AppStream                               885 k

Transaction Summary
====================================================================================================================================================================
Install  1 Package

Total size: 885 k
Installed size: 3.0 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                            1/1 
  Installing       : lftp-4.8.4-1.el8.x86_64                                                                                                                    1/1 
  Running scriptlet: lftp-4.8.4-1.el8.x86_64                                                                                                                    1/1 
  Verifying        : lftp-4.8.4-1.el8.x86_64                                                                                                                    1/1 
Installed products updated.

Installed:
  lftp-4.8.4-1.el8.x86_64                                                                                                                                           

Complete!

2.查看客户端状态

[root@node1 ~]# ps -ef |grep ftp
root       1746   1745  0 18:56 ?        00:00:00 /usr/libexec/openssh/sftp-server

四.客户端测试登录情况

1.使用客户端本地账号user1登录

lftp 192.168.200.150:~> pwd
ftp://192.168.200.150
lftp 192.168.200.150:~> user user1
Password: 
lftp user1@192.168.200.150:~> ls
-rw-r--r--    1 0        0            3541 May 11 13:08 passwd
lftp user1@192.168.200.150:~> pwd
ftp://user1@192.168.200.150/%2Fhome/user1

2.测试上传下载文件

[root@node1 ~]# lftp 192.168.200.150
lftp 192.168.200.150:~> user user1
Password: 
lftp user1@192.168.200.150:~> ls
-rw-r--r--    1 0        0            3541 May 11 13:08 passwd
lftp user1@192.168.200.150:~> lcd /etc
lcd ok, local cwd=/etc
lftp user1@192.168.200.150:~> put group
1154 bytes transferred
lftp user1@192.168.200.150:~> get passwd 
get: /etc/passwd: file already exists and xfer:clobber is unset
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
5天前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
22天前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
113 6
|
1月前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
79 4
|
2月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
W9
|
2月前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
172 1
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
68 4
|
3月前
|
监控 Linux Shell
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
99 4
|
2月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。

热门文章

最新文章