银河麒麟部署ftp需先安装vsftpd(apt或yum),备份配置后启用服务;配置local_enable=yes、chroot_local_user=yes并设local_root;注释pam限制、禁用userlist_enable、移除ftpusers中root;最后放行firewalld的ftp服务及被动端口。

如果您在银河麒麟操作系统上需要提供文件共享服务,但尚未部署FTP服务器,则可能是由于vsftpd未安装或配置不完整。以下是完成FTP服务器安装与配置的步骤:
一、检查并安装vsftpd服务
银河麒麟V10支持APT和YUM两种包管理方式,需根据系统版本选择对应命令确认vsftpd是否已存在,并执行安装。若系统为SP1桌面版(基于Debian体系),使用APT;若为服务器版或旧版(兼容RHEL生态),则使用YUM。
1、执行命令检查是否已安装vsftpd:apt list --installed | grep vsftpd(APT系)或rpm -qa | grep vsftpd(YUM系)
2、如无输出,执行安装命令:sudo apt-get install -y vsftpd(APT系)或sudo yum install -y vsftpd db4-utils(YUM系)
3、安装完成后立即备份原始配置:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
二、启用并验证服务基础运行状态
安装后需确保服务可被系统管理器识别并启动,同时确认端口监听与进程存活情况,排除因服务未激活导致的连接失败。
1、设置开机自启并立即启动服务:sudo systemctl enable --now vsftpd
2、检查服务当前状态:systemctl status vsftpd,确认显示“active (running)”
3、验证21端口是否监听:sudo ss -tlnp | grep :21,应返回包含vsftpd进程的行
三、配置本地用户登录与根目录限制
默认配置禁止本地用户登录且不限制其访问范围,必须显式启用登录权限并绑定至指定目录,防止用户越权访问系统文件。
1、编辑主配置文件:sudo vim /etc/vsftpd.conf
2、确保以下参数存在并设为指定值:local_enable=YES、write_enable=YES、chroot_local_user=YES、allow_writeable_chroot=YES
3、添加或修改行:local_root=/home/kylin/ftp_share(路径需预先创建并赋权)
4、创建目录并授权:sudo mkdir -p /home/kylin/ftp_share && sudo chown kylin:kylin /home/kylin/ftp_share && sudo chmod 755 /home/kylin/ftp_share
四、解决root用户无法登录问题
vsftpd默认将root列入拒绝列表,即使启用local_enable,也会因/etc/vsftpd/ftpusers中包含root而报530错误。需从认证链路两端解除限制。
1、编辑PAM控制文件:sudo vim /etc/pam.d/vsftpd,注释掉含“auth required pam_listfile.so”的整行
2、修改主配置:sudo sed -i 's/userlist_enable=YES/userlist_enable=NO/' /etc/vsftpd.conf
3、编辑拒绝名单:sudo sed -i '/^root$/d' /etc/vsftpd/ftpusers
4、重启服务使变更生效:sudo systemctl restart vsftpd
五、配置防火墙放行FTP端口
银河麒麟默认启用firewalld,若未开放FTP所需端口,客户端将无法建立控制连接(21端口)或数据连接(主动模式20端口或被动模式指定范围)。
1、放行FTP服务预定义规则:sudo firewall-cmd --permanent --add-service=ftp
2、若使用被动模式,额外开放端口段:sudo firewall-cmd --permanent --add-port=30000-31000/tcp
3、重载防火墙配置:sudo firewall-cmd --reload











