HCRM博客

CentOS下vsftpd的安装与配置指南

在 CentOS 上安装和配置 vsftpd(Very Secure FTP Daemon)是一个相对直接的过程,但需要对一些关键配置文件进行编辑以确保其符合特定需求,以下是详细的步骤说明:

一、安装 vsftpd

1、更新软件包索引并安装 vsftpd

CentOS下vsftpd的安装与配置指南-图1
(图片来源网络,侵权删除)

确保你的系统软件包是最新的,然后安装 vsftpd,可以使用以下命令:

  • sudo yum update y
  • sudo yum install vsftpd y

2、启动并设置开机自启 vsftpd 服务

安装完成后,启动 vsftpd 服务,并设置其在系统启动时自动启动:

  • sudo systemctl start vsftpd
  • sudo systemctl enable vsftpd

二、配置 vsftpd

1、备份默认配置文件

在进行任何修改之前,建议先备份原始的 vsftpd 配置文件:

  • sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

2、编辑配置文件

CentOS下vsftpd的安装与配置指南-图2
(图片来源网络,侵权删除)

使用你喜欢的文本编辑器打开配置文件进行编辑,例如使用vinano

  • sudo vi /etc/vsftpd/vsftpd.conf

找到以下行并根据需要进行修改:

匿名访问:将anonymous_enable 设置为NO 以禁用匿名访问。

  • anonymous_enable=NO

本地用户访问:将local_enable 设置为YES 以允许本地用户访问。

  • local_enable=YES

上传权限:取消write_enable 的注释并将其设置为YES 以允许上传文件。

  • # Uncomment and set to YES to enable write support.
  • write_enable=YES

本地用户主目录限制:取消chroot_local_user 的注释并将其设置为YES,这样本地用户登录后将被限制在自己的主目录中。

CentOS下vsftpd的安装与配置指南-图3
(图片来源网络,侵权删除)
  • # Uncomment and set to YES to isolate users in their home directories.
  • chroot_local_user=YES

被动模式端口范围:设置被动模式使用的端口范围,

  • pasv_min_port=30000
  • pasv_max_port=31000

其他安全设置:根据需要调整其他安全设置,如listenconnect_from_port_20 等。

3、保存并关闭配置文件:完成修改后,保存文件并退出编辑器。

4、重启 vsftpd 服务:使配置更改生效:

  • sudo systemctl restart vsftpd

三、创建 FTP 用户和目录

1、创建用户:创建一个用于 FTP 访问的用户,并设置其主目录,创建一个名为ftpuser 的用户,其主目录为/home/ftpuser

  • sudo useradd d /home/ftpuser s /sbin/nologin ftpuser
  • sudo passwd ftpuser # 设置用户密码

2、设置目录权限:确保用户对其主目录有适当的读写权限

  • sudo chown R ftpuser:ftpuser /home/ftpuser
  • sudo chmod R 755 /home/ftpuser

3、添加用户到 vsftpd 配置(可选):如果需要限制特定用户可以访问 FTP,可以编辑/etc/vsftpd/vsftpd.conf 文件,找到userlist_enableuserlist_deny 选项,并进行相应配置,允许列表中的用户访问:

  • userlist_enable=YES
  • userlist_deny=NO
  • userlist_file=/etc/vsftpd.user_list

然后在/etc/vsftpd.user_list 文件中添加允许访问的用户名单,每行一个用户名。

四、配置防火墙

1、开放 FTP 端口:确保防火墙允许通过 FTP 的主动模式和被动模式端口,对于基于 firewalld 的系统,可以使用以下命令开放端口:

  • sudo firewallcmd zone=public addport=21/tcp permanent # 开放主动模式端口
  • sudo firewallcmd zone=public addservice=ftp permanent # 开放被动模式端口范围
  • sudo firewallcmd reload

2、(可选)SELinux 配置:SELinux 启用且需要允许 FTP 传输,可能需要调整 SELinux 策略,设置 FTP 内容的策略为允许:

  • sudo setsebool P ftp_home_dir on
  • sudo setsebool P allow_ftpd_full_access 1

五、测试 FTP 服务器

1、连接测试:使用 FTP 客户端(如 FileZilla、lftp 等)连接到 FTP 服务器,确保能够正常登录并执行上传、下载等操作。

  • ftp <服务器IP地址> 21

或者使用命令行工具:

  • lftp ftpuser@<服务器IP地址>:/home/ftpuser

2、检查日志文件:如果遇到问题,可以查看 vsftpd 日志文件/var/log/vsftpd.log/var/log/xferlog 以获取更多信息。

六、FAQs

1、Q:如何允许特定用户访问FTP服务器?A:可以通过编辑/etc/vsftpd/vsftpd.user_list文件,将允许访问的用户添加到该文件中,每行一个用户名,确保在vsftpd.conf中设置userlist_enable=YESuserlist_deny=NO

2、Q:如何配置FTP服务器使用被动模式?A:在vsftpd.conf文件中设置pasv_enable=YES,并指定被动模式端口范围,如pasv_min_port=30000pasv_max_port=31000

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/23629.html

分享:
扫描分享到社交APP
上一篇
下一篇