CentOS部署FTP服务(vsftpd)及常见问题解决办法

您所在的位置:网站首页 ftp服务器无法访问此文件夹 CentOS部署FTP服务(vsftpd)及常见问题解决办法

CentOS部署FTP服务(vsftpd)及常见问题解决办法

2023-12-19 22:02| 来源: 网络整理| 查看: 265

目录 0.准备工作及说明1.安装vsftpd2.配置vsftpd.conf3.创建FTP用户4.分配主目录5.客户端登录6.常见问题解决办法6.1 问题1: 530 Login incorrect6.2 问题2:500 OOPS: vsftpd: refusing to run with writable root inside chroot()6.3 问题3:客户端能连接,但是无法获取文件列表

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征,比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。     vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

0.准备工作及说明 操作系统:CentOS 7服务器联网、关闭防火墙本文介绍的方法,只有在被动模式下才可以正常使用!!! 1.安装vsftpd [root@i-t729y6cz ~]# yum install vsftpd -y 2.配置vsftpd.conf [root@i-t729y6cz ~]# vi /etc/vsftpd/vsftpd.conf

作如下修改:

anonymous_enable=NO # 禁止通过匿名方式登录FTP chroot_local_user=YES # 禁止用户切换根目录

添加以下内容:

pasv_enable=YES # 允许被动模式 pasv_min_port=10060 # 被动模式下服务器使用的最小端口 pasv_max_port=10070 # 被动模式下服务器使用的最大端口

说明: 1、 被动模式与主动模式的介绍可以参考这两篇文章: vsftpd的主动模式与被动模式 vsftpd主动模式和被动模式的区别 2、被动模式下使用的端口号范围要大于10000,个数无所谓。如果开启防火墙的话,需要特别设置,可以参考这两篇文章: ftp 登陆后读取目录列表失败 Centos7搭建vsftpd及被动模式下的防火墙设置

保存,然后重启vsftpd服务:

[root@i-t729y6cz ~]# service vsftpd restart

重启vsftpd服务 查看vsftpd服务状态:

[root@i-t729y6cz ~]# service vsftpd status

vsftpd服务状态

3.创建FTP用户

创建一个名为ftpadmin的用户,并限制该用户只能通过FTP访问,不能直接登录服务器:

[root@i-t729y6cz ~]# adduser ftpadmin # 创建用户 [root@i-t729y6cz ~]# passwd ftpadmin # 设置密码 Changing password for user ftpadmin. New password: # 输入密码 Retype new password: # 再次输入密码 passwd: all authentication tokens updated successfully. [root@i-t729y6cz ~]# usermod -s /sbin/nologin ftpadmin # 限制该用户只能通过FTP访问 4.分配主目录

    假设服务器上有一块存储空间较大的磁盘,挂载在/data路径下,需要将FTP存储文件的空间设置在此路径下:/data/ftp/mydata     其中,/data/ftp 为FTP主目录,不能上传文件;/data/ftp/mydata为文件存储的地方。/data/ftp 下可以创建其它文件夹,也可以嵌套。

[root@i-t729y6cz ~]# mkdir -p /data/ftp/mydata # 创建路径 [root@i-t729y6cz ~]# chmod a-w /data/ftp # 让FTP主目录不具有写权限 [root@i-t729y6cz ~]# chmod 777 -R /data/ftp/mydata # 让/mydata具有全部权限 [root@i-t729y6cz ~]# usermod -d /data/ftp ftpadmin # 指定ftpadmin的主目录 5.客户端登录

    选择一款FTP客户端软件,如xFTP、WinSCP、FileZilla等,配置好IP、端口号、用户名、密码等信息,选择被动模式(一般默认为被动模式)进行连接,就可以登录了。

6.常见问题解决办法

这里只列出了问题的直接解决办法,问题的原因分析可以参考这篇文章: centos7下配置ftp服务器,各种登录异常排查

排查之前,先在服务器本地测试一下FTP服务是否正常:

[root@i-t729y6cz ~]# ftp 192.168.70.9 Connected to 192.168.70.9 (192.168.70.9). 220 (vsFTPd 3.0.2) Name (192.168.70.9:root): ftpadmin 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> 6.1 问题1: 530 Login incorrect

解决办法: 将/etc/pam.d/vsftpd文件中的auth required pam_shells.so修改为auth required pam_nologin.so,然后重启vsftpd服务。

6.2 问题2:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

解决办法: 将FTP的主目录去掉写权限:chmod a-w /data/ftp

6.3 问题3:客户端能连接,但是无法获取文件列表

解决办法: 在防火墙中开放被动模式下使用的端口;将客户端修改为被动模式

欢迎关注我的微信公众号: 微信公众号



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3