在CentOS操作系统上安装vsftpd(Very Secure FTP Daemon)是一个相对简单的过程,但需要对系统配置和安全设置进行一些调整,以下是详细的步骤和相关说明。
一、安装前的准备工作
1、检查是否已安装vsftpd:
rpm qa | grep vsftpd
如果已经安装,可以选择卸载并重新安装,以确保配置的一致性。
2、更新软件包(可选):
sudo yum update
二、安装vsftpd
1、安装vsftpd:
sudo yum install y vsftpd
2、启动vsftpd服务并设置为开机自启:
sudo systemctl start vsftpd sudo systemctl enable vsftpd
3、查看vsftpd服务状态:
sudo systemctl status vsftpd
三、配置vsftpd
1、备份原始配置文件(可选):
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
2、编辑vsftpd配置文件:
sudo vi /etc/vsftpd/vsftpd.conf
基本配置:
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES allow_writeable_chroot=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES local_root=/home/$USER user_sub_token=$USER userlist_deny=NO userlist_file=/etc/vsftpd/user_list pasv_enable=YES pasv_min_port=30010 pasv_max_port=30015 pasv_address={vsftpd服务器的公网IP}
解释:
anonymous_enable=NO
:禁用匿名登录。
local_enable=YES
:允许本地用户登录。
write_enable=YES
:允许写操作。
local_umask=022
:设置本地用户的默认文件掩码为022。
dirmessage_enable=YES
:启用目录消息功能。
xferlog_enable=YES
:启用上传下载记录。
connect_from_port_20=YES
:通过20端口建立数据连接。
xferlog_std_format=YES
:使用标准格式记录日志。
chroot_local_user=YES
:限制本地用户在其主目录中。
allow_writeable_chroot=YES
:允许在chroot环境中写操作。
listen=YES
:监听所有IP地址。
listen_ipv6=NO
:禁用IPv6监听。
pam_service_name=vsftpd
:指定PAM服务名称为vsftpd。
userlist_enable=YES
:启用用户列表。
tcp_wrappers=YES
:启用TCP包装器。
local_root=/home/$USER
:设置本地用户的根目录为其主目录。
user_sub_token=$USER
:用户子令牌为用户用户名。
userlist_deny=NO
:不拒绝用户列表中的用户。
userlist_file=/etc/vsftpd/user_list
:指定用户列表文件。
pasv_enable=YES
:启用被动模式。
pasv_min_port
和pasv_max_port
:指定被动模式的端口范围。
pasv_address
:指定vsftpd服务器的公网IP。
3、创建FTP用户:
sudo adduser ftpUser sudo passwd ftpUser
4、创建FTP目录并设置权限:
sudo mkdir p /home/ftpUser/ftp sudo chown R ftpUser:ftpUser /home/ftpUser/ftp sudo chmod 755 /home/ftpUser/ftp
5、添加FTP用户到用户列表:
echo "ftpUser" >> /etc/vsftpd/user_list
四、防火墙配置
1、使用firewalld管理防火墙:
sudo firewallcmd permanent addport=21/tcp sudo firewallcmd permanent addservice=ftp sudo firewallcmd reload
2、使用iptables管理防火墙:
sudo iptables A INPUT p tcp dport 20 j ACCEPT sudo iptables A INPUT p tcp dport 21 j ACCEPT sudo service iptables save sudo service iptables restart
五、SELinux配置(可选)
如果SELinux导致问题,可以暂时关闭它:
sudo setenforce 0 sudo sed i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
六、测试FTP服务
可以使用FTP客户端软件(如FileZilla、WinSCP等)测试FTP服务器的连接和文件传输功能,使用命令行方式测试:
ftp IP地址 用户名 密码
ftp 192.168.1.100 ftpUser password
是CentOS安装vsftpd的详细步骤和配置说明,为了确保系统的安全性,建议在生产环境中进行充分的测试和验证。