HCRM博客

如何在CentOS 7上安装和配置vsftpd?

vsftpd在CentOS 7上的配置与管理

vsftpd是一款安全、高效的FTP服务器,广泛应用于Linux系统,本文将详细介绍如何在CentOS 7上安装、配置和管理vsftpd,并提供相关常见问题的解答。

如何在CentOS 7上安装和配置vsftpd?-图1
(图片来源网络,侵权删除)

一、vsftpd简介

vsftpd(Very Secure FTP Daemon)是一款基于GPL的开源FTP服务器软件,以其安全性和高效性著称,它支持匿名访问和认证用户访问,并且可以通过配置文件进行灵活的安全设置。

二、安装vsftpd

1. 卸载已有版本

如果系统中已经安装了vsftpd,可以先卸载:

sudo rpm e vsftpd nodeps

2. 安装vsftpd

使用yum安装vsftpd:

sudo yum install y vsftpd

3. 启动并设置自启

如何在CentOS 7上安装和配置vsftpd?-图2
(图片来源网络,侵权删除)

启动vsftpd服务并设置为开机自启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

4. 查看服务状态

确保服务运行正常:

sudo systemctl status vsftpd

三、配置防火墙

开放FTP端口(默认为21):

sudo firewallcmd permanent addport=21/tcp
sudo firewallcmd reload

四、SELinux配置

1. 临时关闭SELinux

sudo setenforce 0

2. 永久关闭SELinux(不推荐)

如何在CentOS 7上安装和配置vsftpd?-图3
(图片来源网络,侵权删除)

编辑/etc/selinux/config文件,将SELINUX设置为disabled,然后重启系统。

>注意:永久关闭SELinux会降低系统的安全性,建议仅在必要时临时关闭。

3. 允许FTP全访问

sudo setsebool P allow_ftpd_full_access on

五、vsftpd配置详解

vsftpd的主要配置文件为/etc/vsftpd/vsftpd.conf,以下是一些关键配置项及其说明:

配置项 说明
anonymous_enable=YES 允许匿名用户登录,默认值为YES。
local_enable=YES 允许本地用户登录,默认值为YES。
write_enable=YES 允许写入操作,默认值为YES。
chroot_local_user=YES 将所有本地用户限制在其主目录中,默认值为NO。
chroot_list_enable=YES 启用例外用户名单,默认值为NO。
chroot_list_file=/etc/vsftpd/chroot_list 指定例外用户名单文件。
listen=YES 监听IPv4地址,默认值为YES。
listen_ipv6=YES 监听IPv6地址,默认值为YES。
anon_upload_enable=YES 允许匿名用户上传,默认值为YES。
anon_mkdir_write_enable=YES 允许匿名用户创建目录,默认值为YES。
dirmessage_enable=YES 启用目录欢迎信息功能,默认值为YES。
xferlog_enable=YES 启用传输日志记录,默认值为YES。
connect_from_port_20=YES 主动模式下启用独立端口,默认值为YES。
pam_service_name=vsftpd 指定PAM认证服务名称,默认值为vsftpd。
userlist_enable=YES 启用用户列表功能,默认值为YES。
tcp_wrappers=YES 启用TCP包装器,默认值为YES。

六、配置用户和权限

1. 创建FTP用户

创建用户并将其添加到ftp组:

sudo useradd d /home/ftpuser s /sbin/nologin ftpuser
sudo passwd ftpuser

2. 设置用户主目录权限

确保FTP用户对其主目录具有适当的权限:

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

3. 配置chroot环境

编辑/etc/vsftpd/vsftpd.conf文件,添加以下内容以限制用户只能访问其主目录:

chroot_local_user=YES

4. 例外用户配置

编辑/etc/vsftpd/chroot_list文件,添加不需要限制的用户:

ftpuser

七、常见问题及解决方法

1. 如何更改FTP服务的默认端口?

编辑/etc/vsftpd/vsftpd.conf文件,修改以下行:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES

然后在防火墙中开放新的端口号:

sudo firewallcmd permanent addport=新端口号/tcp
sudo firewallcmd reload

最后重新启动vsftpd服务:

sudo systemctl restart vsftpd

2. 如何处理“530 Login incorrect”错误?

这种错误通常是由于PAM配置问题引起的,编辑/etc/pam.d/vsftpd文件,注释掉以下行:

#auth required pam_shells.so

然后重新启动vsftpd服务:

sudo systemctl restart vsftpd

如果问题仍然存在,检查用户的shell是否被设置为/sbin/nologin:

sudo usermod s /bin/bash ftpuser

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

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