CentOS下VSFTP远程管理指南
在CentOS系统上,首先通过YUM包管理器安装vsftpd(Very Secure FTP Daemon):
sudo yum update -y && sudo yum install vsftpd -y
编辑核心配置文件/etc/vsftpd/vsftpd.conf,调整以下关键参数以满足远程管理需求:
local_enable=YES(启用本地系统用户访问);write_enable=YES(允许用户上传/修改文件);chroot_local_user=YES(将用户限制在其主目录,避免访问系统其他目录);allow_writeable_chroot=YES(默认NO,需改为YES以避免权限问题);anonymous_enable=NO(防止未授权用户访问)。示例配置片段:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
通过useradd命令创建专门用于FTP访问的本地用户,并设置密码:
sudo useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1 # 创建用户,指定主目录,禁止SSH登录
sudo passwd ftpuser1 # 设置用户密码
/etc/vsftpd/user_list文件,添加允许登录的用户名(每行一个);/etc/vsftpd/vsftpd.conf,设置userlist_enable=YES(启用用户列表)、userlist_deny=NO(允许列表中的用户登录)。ftpuser1、ftpuser2登录,在user_list中添加这两行,并确保配置文件中userlist_deny=NO。若系统启用SELinux(默认开启),需调整FTP相关策略:
sudo setsebool -P ftpd_full_access=on # 允许FTP用户完全访问其主目录
允许FTP服务通过防火墙(CentOS 7及以上使用firewalld):
sudo firewall-cmd --permanent --add-service=ftp # 允许FTP服务(默认端口21)
sudo firewall-cmd --permanent --add-port=20/tcp # 允许数据连接端口(主动模式)
sudo firewall-cmd --reload # 重新加载防火墙规则
启动vsftpd服务并设置为开机自启:
sudo systemctl start vsftpd # 启动服务
sudo systemctl enable vsftpd # 开机自启
sudo systemctl status vsftpd # 检查服务状态(确保显示“active (running)”)
使用FTP客户端(如FileZilla、WinSCP)连接服务器:
ftpuser1)、密码;pasv_enable=YES,并设置pasv_min_port/pasv_max_port);sudo systemctl enable sshd)实现,无需额外安装FTP软件;sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ftp" accept');sudo yum update -y);