在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服务,请小心处理相关的配置,因为它们可能导致服务器容易受到攻击。
相关推荐
苦瓜汤补钙7 分钟前
论文阅读:WildGS-SLAM:Monocular Gaussian Splatting SLAM in Dynamic Environments
linux·论文阅读·机器学习
Kevin Wang72740 分钟前
Ubuntu服务器安装Miniconda
linux·服务器·ubuntu
小米里的大麦2 小时前
021 多语言协同执行(了解)
linux
甲方求你学点技术吧2 小时前
8:从USB摄像头把声音拿出来--ALSA大佬登场!
linux·图像处理·ffmpeg·音视频
药9552 小时前
网络编程(TCP连接)
运维·服务器
菜萝卜子3 小时前
【Linux】Ubuntu22.04安装zabbix
linux·运维·zabbix
电信2301杨臣3 小时前
Imx6ull用网线与电脑连接
运维·服务器·网络
艾伦_耶格宇3 小时前
【DOCKER】-4 dockerfile镜像管理
运维·docker·容器
什么半岛铁盒3 小时前
MySQL数据库的基础操作
linux·运维·服务器·mysql
乌萨奇也要立志学C++3 小时前
【Linux】基本指令详解(一) 树状文件结构、家目录、绝对/相对路径、linux文件类型
linux