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提供了多种工具来查询文件大小,每种工具的功能、适用场景和输出格式各有侧重,本文将详细介绍这些命令的使用方法、核心选项及实际应用场景,基础命令:ls……

    2025年9月30日
    3500
  • Linux终端如何打开程序?

    Linux终端作为Linux系统的核心交互工具,不仅能高效执行命令,还能灵活启动和管理各类程序,无论是图形界面应用还是命令行工具,掌握终端启动方法能显著提升操作效率,本文将从基础命令到高级技巧,详细说明Linux终端打开程序的多种方式,帮助用户应对不同场景需求,基础打开命令:通用与桌面环境特定工具xdg-ope……

    2025年8月26日
    4700
  • 如何设置eth0网关192.168.1.1?

    临时设置默认路由(重启失效)方法1:使用 ip route 命令(推荐)sudo ip route add default via <网关IP> dev <网卡名>sudo ip route add default via 192.168.1.1 dev eth0方法2:使用 route……

    2025年7月6日
    7500
  • linux如何卸载clion

    Linux系统中,卸载CLion可通过包管理器(如apt、yum等)或直接删除

    2025年8月19日
    5500
  • Linux下如何调试uC/OS-II实时操作系统?

    调试环境搭建安装交叉编译工具链根据目标处理器架构(如ARM Cortex-M)安装对应工具链:sudo apt install gcc-arm-none-eabi # ARM示例验证安装:arm-none-eabi-gcc –version获取uC/OS-II源码从Micrium官网或授权渠道获取源码(如uc……

    2025年7月26日
    5800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信