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 中,可用 sed 命令如 `sed ‘s/ //g

    2025年8月9日
    14400
  • Linux中bool命令的具体使用方法是什么?

    在Linux系统中,并没有名为“bool”的独立命令,但“bool”通常指代布尔逻辑(Boolean Logic)的测试与判断,这一功能主要通过内置的test命令及其别名[、[[实现,test命令是Shell脚本中进行条件判断的核心工具,通过测试表达式返回真(0)或假(非0),配合if、while等控制结构实现……

    2025年9月13日
    10800
  • Linux如何正确删除一个用户账户及关联文件?

    在Linux系统中,用户管理是系统运维的基础操作之一,删除用户是常见需求,可能因员工离职、账户闲置或安全策略调整等原因触发,正确删除用户不仅能释放系统资源,还能避免潜在的安全风险,本文将详细讲解Linux中删除用户的完整流程、注意事项及不同场景下的操作方法,帮助用户安全、高效地完成用户删除任务,删除用户前的准备……

    2025年9月10日
    12600
  • 如何用命令行访问数据库?

    命令行工具通过终端直接连接数据库,支持执行SQL查询、管理数据和进行批量操作,是数据库管理员和开发者进行高效交互与维护的基础方式。

    2025年7月24日
    14300
  • Linux下如何编译安装OpenCV3.0?

    在Linux系统中编译OpenCV 3.0需要经历环境准备、源码获取、CMake配置、编译安装及环境变量配置等步骤,以下是详细流程:环境准备编译OpenCV 3.0需先安装必要的依赖库和工具,包括编译器、构建工具及OpenCV所需的第三方库(如图像处理、视频编解码等支持),以Ubuntu/Debian系统为例……

    2025年8月22日
    12900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信