Linux系统FTP如何使用?操作步骤与方法指南

Linux系统下FTP(File Transfer Protocol,文件传输协议)是常用的文件传输方式,主要用于客户端与服务器之间的文件上传、下载等操作,本文将详细介绍Linux环境下FTP的使用方法,包括客户端连接、服务器配置及常用操作。

linux系统ftp如何使用

FTP工具概述

Linux系统中,FTP操作主要通过客户端工具和服务器软件实现,客户端工具包括ftp(内置命令行工具)、lftp(增强型客户端,支持断点续传、多线程等),服务器软件常用vsftpd(very secure FTP daemon,安全且轻量)。

客户端使用:以ftp命令为例

安装FTP客户端

大多数Linux系统默认已安装ftp工具,若未安装可通过包管理器安装:

  • Ubuntu/Debian:sudo apt update && sudo apt install ftp
  • CentOS/RHEL:sudo yum install ftp

连接FTP服务器

使用ftp命令连接服务器,格式为ftp [服务器IP/域名] [端口](端口默认为21):

ftp 192.168.1.100

连接后需输入用户名和密码,若服务器允许匿名登录,用户名可输入anonymous,密码留空或填邮箱。

linux系统ftp如何使用

常用FTP操作命令

连接成功后,进入FTP交互界面,可通过以下命令操作:

命令 功能描述 示例
ls 列出当前目录文件 ls
cd [目录] 切换目录 cd /upload
get [文件] 下载文件到本地当前目录 get test.txt
put [文件] 上传本地文件到服务器当前目录 put local_file.txt
mget [文件] 批量下载文件(支持通配符) mget *.zip
mput [文件] 批量上传文件 mput *.jpg
mkdir [目录] 创建服务器目录 mkdir new_folder
delete [文件] 删除服务器文件 delete old.txt
! [命令] 执行本地系统命令 ! ls(查看本地目录)
help 查看所有可用命令 help
bye/quit 退出FTP连接 bye

被动模式(PASV)设置

若客户端处于内网或防火墙限制,需启用被动模式以确保数据传输正常:

passive  # 开启被动模式

FTP服务器配置:以vsftpd为例

安装vsftpd

  • Ubuntu/Debian:sudo apt install vsftpd
  • CentOS/RHEL:sudo yum install vsftpd

配置vsftpd

核心配置文件为/etc/vsftpd/vsftpd.conf,常用配置项如下:

anonymous_enable=NO      # 禁止匿名登录
local_enable=YES         # 允许本地用户登录
write_enable=YES         # 允许文件上传(需用户有写权限)
chroot_local_user=YES    # 限制用户只能访问自家目录(安全加固)
allow_writeable_chroot=YES  # 允许chroot目录可写(需配合write_enable=YES)
listen=YES               # 独立模式运行
pasv_min_port=10000      # 被动模式最小端口
pasv_max_port=10100      # 被动模式最大端口

配置完成后保存,重启服务:sudo systemctl restart vsftpd(CentOS/RHEL)或sudo service vsftpd restart(Ubuntu/Debian)。

linux系统ftp如何使用

防火墙与用户设置

  • 开放FTP端口(21)及被动模式端口(10000-10100):
    sudo ufw allow 21/tcp    # Ubuntu
    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --reload  # CentOS
    sudo firewall-cmd --permanent --add-port=10000-10100/tcp
    sudo firewall-cmd --reload
  • 创建FTP专用用户(可选):
    sudo useradd -m ftpuser  # 创建用户并创建家目录
    sudo passwd ftpuser       # 设置密码

安全注意事项

  1. 避免明文传输:FTP默认使用明文传输密码和数据,建议改用FTPS(FTP over SSL)或SFTP(基于SSH的文件传输)增强安全性。
  2. 限制用户权限:通过chroot限制用户访问目录,避免越权操作。
  3. 定期更新:保持vsftpd版本最新,及时修复安全漏洞。

相关问答FAQs

Q1:Linux FTP连接失败,提示“Connection refused”怎么办?
A:可能原因包括:服务器未启动vsftpd服务(sudo systemctl status vsftpd检查);防火墙拦截(开放21端口及被动模式端口);服务器IP或端口错误,可通过telnet 服务器IP 21测试端口是否可达,排查服务状态和防火墙规则。

Q2:如何限制FTP用户只能访问指定目录(如/home/ftpuser/upload)?
A:可通过配置vsftpd.conf实现:

  1. 创建目标目录并设置权限:sudo mkdir -p /home/ftpuser/upload && sudo chown ftpuser:ftpuser /home/ftpuser/upload
  2. vsftpd.conf中添加:local_root=/home/ftpuser/upload(指定用户登录后的根目录)和allow_writeable_chroot=YES
  3. 重启vsftpd服务,用户登录后将只能操作/home/ftpuser/upload目录。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28374.html

(0)
酷番叔酷番叔
上一篇 2025年9月22日 16:08
下一篇 2025年9月22日 16:19

相关推荐

  • 如何实时查看Linux系统中当前哪些进程具体占用内存大小最多?

    在Linux系统中,监控进程内存占用是系统管理和性能优化的核心任务之一,尤其当系统出现卡顿、响应缓慢或内存不足时,快速定位高内存占用进程能有效解决问题,本文将详细介绍多种查看Linux进程内存占用的方法,涵盖基础命令、进阶工具及内存指标解析,帮助用户根据实际需求选择合适的方式,基础命令:top与htop——实时……

    2025年10月7日
    700
  • linux 如何安装

    Linux作为开源操作系统,凭借其稳定性、安全性和灵活性受到众多用户青睐,安装Linux系统根据需求不同有多种方式,常见的方法包括虚拟机安装、双系统安装和U盘启动安装,每种方式适用场景和操作步骤略有差异,下面将详细介绍具体流程,虚拟机安装:适合新手与多系统测试需求虚拟机安装是在现有操作系统(如Windows)中……

    2025年8月31日
    3900
  • 如何利用rsync的a、v、z参数优化数据传输?

    如何将文件传输到 Linux 系统:8 种专业方法详解在 Linux 系统管理中,文件传输是高频操作,无论是开发者部署代码、运维人员同步配置,还是普通用户共享文档,掌握高效安全的传输方法至关重要,本文提供 8 种经过验证的方案,涵盖命令行与图形界面工具,兼顾安全性与效率,所有步骤均通过 Ubuntu/CentO……

    2025年7月9日
    6100
  • 误删文件后如何紧急恢复?

    在Linux系统中,删除文件是基础但需谨慎的操作,命令行提供了高效的管理方式,但误删可能导致数据永久丢失,以下详细指南涵盖常用方法、安全实践及特殊情况处理,所有命令均基于Linux核心工具(如GNU coreutils)和标准文件系统(如ext4),rm 命令最常用的删除工具,支持批量操作:rm 文件名 # 删……

    2025年8月8日
    4300
  • linux如何安装phpize

    Linux上安装phpize,需先确保已安装PHP开发包,如Ubuntu执行`sudo

    2025年8月16日
    3400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信