在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 小时前
用 Portainer 可视化管理 Docker:容器再多也不用背命令了
运维·docker·容器
2023自学中5 小时前
Linux 图形系统
linux
kirs_ur6 小时前
ECC & LDPC — SSD 的数据卫士
服务器·数据库·性能优化
mounter6258 小时前
高性能网络技术演进与创新探索:RDMA、eBPF/XDP 深度解析及 LSF/MM/BPF 2023 专题演讲
linux·ebpf·linux kernel·kernel·rdma·xdp
动恰客流统计8 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
名字还没想好☜8 小时前
Python itertools 实战:用 groupby、chain、islice 优雅处理大数据流
linux·windows·python·迭代器·itertools
ziguo112211 小时前
深入浅出 C/C++ 数据类型:从入门到踩坑
linux·c语言·c++·windows·visual studio
无垠的广袤11 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
会编程的土豆12 小时前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
砍材农夫12 小时前
运维|devops|jenkins构建应用发布
运维·jenkins·devops