在Linux上开启FTP服务

在Linux上设置FTP服务,您可以使用几种不同的FTP服务器软件,如vsftpdProFTPDPure-FTPd。以下是使用vsftpd(非常安全的FTP守护程序)的基本步骤:

安装 vsftpd

首先,需要确保vsftpd已经安装。在Debian/Ubuntu系统上,您可以使用如下命令安装:

bash 复制代码
sudo apt update sudo apt install vsftpd

对于Red Hat/CentOS系统,使用以下命令:

bash 复制代码
sudo yum install vsftpd

配置 vsftpd

安装完毕后,接下来您需要配置FTP服务器。主配置文件通常位于/etc/vsftpd.conf

  1. 打开配置文件进行编辑:

    bash 复制代码
    sudo nano /etc/vsftpd.conf
  2. 定制化配置文件。您可能想修改以下设置以更好地控制FTP服务的行为:

    • anonymous_enable=NO 禁止匿名登录。
    • local_enable=YES 允许经过身份验证的用户登录。
    • write_enable=YES 允许用户上传文件。(要谨慎启用)
    • chroot_local_user=YES 将用户限制在其家目录。
    • pam_service_name=ftp 指定PAM服务名称以用于用户认证。
  3. 退出并保存文件。如果在nano中,可按Ctrl + X,然后按Y保存更改。

启动和使能 vsftpd

完成配置后,需要重新启动vsftpd以使更改生效,并将其设置为开机自启:

bash 复制代码
sudo systemctl restart vsftpd sudo systemctl enable vsftpd

开放防火墙端口

如果您的系统上运行有防火墙(如ufwfirewalld),您需要允许FTP通信:

对于使用ufw的系统:

bash 复制代码
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw reload

对于使用firewalld的系统:

bash 复制代码
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload

创建FTP用户(可选)

为了增强安全性,您也许会想创建专门用于FTP访问的用户。

bash 复制代码
sudo adduser ftpuser

设定密码,并为新用户配置必要的权限。

连接测试

最后,尝试从客户端连接到FTP服务器以确保一切工作正常。您可以使用ftp命令行客户端或任何其他的FTP客户端软件:

bash 复制代码
ftp your_server_ip

输入用户名和密码进行登录测试。

注意事项

  • FTP默认不是加密协议,数据传输时可能会被截获。请考虑使用SFTP(SSH文件传输协议),它提供了加密的连接,大多数现代FTP客户端都支持SFTP。
  • 如果您需要提供匿名FTP服务,请小心处理相关的配置,因为它们可能导致服务器容易受到攻击。
相关推荐
暮云星影5 小时前
全志开发环境搭建及编译构建
linux·arm开发·驱动开发
vortex55 小时前
Alpine Linux 运行架构解析:从内核到容器的精简之道
linux·运维·架构
王二端茶倒水5 小时前
智慧酒店 WiFi 运营:从 Portal 认证到住客体验闭环
运维·物联网·架构
三块可乐两块冰5 小时前
rag学习5
linux·前端·python
::呵呵哒::5 小时前
在macOS/Linux上优雅管理多个JDK版本:环境变量与别名配置指南
java·linux·macos
vortex55 小时前
Witr:系统进程溯源与行为分析工具
linux·运维·服务器
何中应5 小时前
Grafana面板没有数据问题排查
linux·grafana·prometheus
困意少年5 小时前
Linux 命令行参数与环境变量:从 Shell 到 main() 的数据是怎么传进去的?
linux·运维
独隅5 小时前
IntelliJ IDEA 在 Linux 上的完整安装与使用指南
java·linux·intellij-idea
NaclarbCSDN6 小时前
我写了一个命令行书签管理器,然后抛弃了浏览器书签栏
linux·git·python·github