CentOS配置vsftpd
在Centos上配置vsftpd(Very Secure FTP Daemon)是一个常见的任务,用于搭建安全、稳定的文件传输服务,以下是详细的配置步骤和相关注意事项。
一、安装与启动vsftpd

1、更新系统软件包:
- sudo yum update y
2、安装vsftpd:
- sudo yum install vsftpd y
3、启动并设置开机自启:
- sudo systemctl start vsftpd
- sudo systemctl enable vsftpd
4、查看状态:
- sudo systemctl status vsftpd
二、配置防火墙
为了允许FTP流量通过防火墙,需要开放相应的端口:

- 对于主动模式
- sudo firewallcmd permanent addport=21/tcp
- 对于被动模式
- sudo firewallcmd permanent addservice=ftp
- sudo firewallcmd reload
三、配置SElinux
CentOS 7默认启用了SELinux,需要配置以允许FTP访问:
- sudo setsebool P ftp_home_dir on
- sudo setsebool P allow_ftpd_full_access on
四、添加FTP用户
1、创建用户:
- sudo useradd g root d /home/ftpuser s /sbin/nologin ftpuser
2、设置密码:
- sudo passwd ftpuser
3、为用户创建目录并设置权限:

- sudo mkdir p /home/ftpuser/ftp
- sudo chown R ftpuser:root /home/ftpuser/ftp
- sudo chmod 755 /home/ftpuser/ftp
五、配置vsftpd
编辑vsftpd配置文件/etc/vsftpd/vsftpd.conf
,进行以下修改:
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- chroot_local_user=YES
- allow_writeable_chroot=YES
- listen=YES
- pam_service_name=vsftpd
- tcp_wrappers=YES
如果需要限制特定用户访问,可以编辑/etc/vsftpd/user_list
,并在文件中添加允许登录的用户名,确保vsftpd.conf
中有以下配置:
- userlist_enable=YES
- userlist_file=/etc/vsftpd/user_list
- userlist_deny=NO
六、重启服务
每次修改配置文件后,都需要重启vsftpd服务以使更改生效:
- sudo systemctl restart vsftpd
常见问题及解决方法
1、FTP用户无法登录:
确保用户被添加到/etc/vsftpd/user_list
中。
检查是否设置了chroot_local_user=YES
。
确认SELinux设置正确。
2、530错误:
这是由于SELinux限制导致的,执行以下命令解决:
- sudo setsebool P allow_ftpd_full_access on
步骤涵盖了在CentOS上安装、配置和启动vsftpd的基本过程,通过这些配置,可以实现一个基本但安全的FTP服务器,根据实际需求,还可以进一步优化和调整配置。