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

相关推荐

  • 如何正确使用 sudo 命令?

    在Linux系统中,root用户拥有最高权限,可执行所有操作(包括修改系统文件、安装软件等),但滥用root权限可能导致系统崩溃或安全风险,因此需谨慎操作,以下是几种以root身份执行命令的方法,每种方法均附使用场景和注意事项:sudo(Super User Do)允许授权用户临时以root权限执行命令,无需切……

    2025年6月13日
    11100
  • Linux下root文件夹权限设置如何操作?

    Linux系统中,root文件夹权限设置是系统管理的重要环节,直接关系到系统的安全性与稳定性,root用户作为系统的超级管理员,其文件夹权限的合理配置能有效防止未授权访问和误操作,以下从权限基础、查看方法、修改命令及注意事项等方面详细说明,Linux权限基础Linux文件/文件夹权限通过“用户-组-其他”三级控……

    2025年9月16日
    11400
  • Linux如何通过命令查询硬盘数量?

    在Linux系统中,查询硬盘数量是系统管理和运维中的常见需求,尤其是在服务器或存储设备配置中,Linux提供了多种命令和工具来帮助用户准确识别硬盘数量,以下将详细介绍几种主流方法,包括命令用法、输出解析及注意事项,使用lsblk命令列出块设备lsblk(list block devices)是Linux中最常用……

    2025年9月21日
    9500
  • 掌握哪些命令行工具能事半功倍?

    在Linux系统中,查看硬件信息是系统管理、故障排查或性能优化的基础操作,以下详细介绍多种可靠方法,涵盖命令行工具和图形界面方案,所有命令均经过主流Linux发行版(如Ubuntu、CentOS)验证,确保安全性和准确性,lshw(全面硬件概览)功能:列出CPU、内存、磁盘、USB控制器等完整硬件架构,安装与使……

    2025年7月6日
    13400
  • 如何查看Linux内核版本号的具体操作方法?

    在Linux系统中,内核作为操作系统的核心,承担着硬件资源管理、进程调度、内存分配等关键任务,其版本信息直接关系到系统的兼容性、安全性及性能优化,无论是驱动安装、系统故障排查,还是安全补丁更新,准确获取内核版本都是首要步骤,本文将详细介绍多种查看Linux内核版本的方法,涵盖命令行工具、系统文件及图形界面等不同……

    2025年9月8日
    1.2K00

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信