在麒麟系统上开启FTP服务需依次完成安装vsftpd、启用并验证服务、解除root登录限制、配置本地用户访问权限、创建并授权FTP根目录、开放防火墙FTP服务、重启服务;任一环节缺失将导致530或Connection refused错误。

在麒麟系统上开启FTP服务,必须先确认vsftpd是否已安装、服务是否启用、配置是否允许本地用户登录,否则客户端连接时会直接报530 Login incorrect或Connection refused错误。
检查vsftpd是否已安装
打开终端,执行命令查看vsftpd状态:rpm -qa | grep vsftpd(适用于YUM系服务器版)或apt list --installed | grep vsftpd(适用于APT系桌面版SP1)。【若无任何输出,说明未安装,必须先安装】
未安装时,根据系统类型执行对应命令:YUM系用sudo yum install -y vsftpd db4-utils,APT系用sudo apt install -y vsftpd。
启动并设为开机自启
安装完成后立即启用服务:sudo systemctl enable --now vsftpd。这一步同时完成开机自启设置与当前启动。
验证服务是否运行:systemctl status vsftpd,看到“active (running)”且进程PID存在即成功;再执行sudo ss -tlnp | grep :21,确认vsftpd正在监听21端口。
解除root用户登录限制(关键步骤)
方法一:修改黑名单文件
编辑/etc/vsftpd/ftpusers,将root这一行用#注释掉或直接删除。此文件中列出的用户一律禁止登录,优先级高于其他配置。
方法二:关闭用户列表机制
编辑/etc/vsftpd.conf,找到userlist_enable=YES,将其改为userlist_enable=NO。这样可跳过白名单/黑名单校验流程,避免因userlist_deny逻辑混乱导致失败。
【注意:两个方法任选其一即可,不要同时操作,否则可能引发冲突】
启用本地用户并限定根目录
第一步:编辑主配置文件sudo vim /etc/vsftpd.conf,确保以下四行存在且值正确:
local_enable=YESwrite_enable=YESchroot_local_user=YESallow_writeable_chroot=YES
第二步:添加或修改local_root=/home/kylin/ftp_share(路径可自定义,但必须真实存在)。
第三步:创建该目录并赋权:sudo mkdir -p /home/kylin/ftp_share && sudo chown kylin:kylin /home/kylin/ftp_share && sudo chmod 755 /home/kylin/ftp_share。这一步不做,用户登录后会卡在空目录或报550错误。
开放防火墙端口
如果系统启用了firewalld,必须放行FTP服务:sudo firewall-cmd --permanent --add-service=ftp,然后重载规则:sudo firewall-cmd --reload。
仅开放21端口还不够——被动模式下数据连接依赖随机高位端口,【建议直接启用ftp服务预设规则,它会自动处理控制+数据端口】。
重启服务使全部配置生效
执行sudo systemctl restart vsftpd。此时用FTP客户端(如FileZilla)以用户名kylin、密码(系统登录密码)连接本机IP,应能成功登录并看到/home/kylin/ftp_share内容。

















