前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题

【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题

原创
作者头像
凯哥Java
发布2023-01-12 17:18:18
1.4K0
发布2023-01-12 17:18:18
举报
文章被收录于专栏:凯哥Java凯哥Java

【图文教程】云服务器上,Linux安装VSFTPD组件及遇到的问题

服务器做迁移,从AXX云迁移到Txx云上,迁移的话,需要把图片服务器也迁移过去。之前使用的是VSFTPD这次也还用这个吧。这里就记录下FTP服务器安装及遇到的问题。

1:安装VSFTP组件

使用yum命令安装。安装命令如下:

yum -y install vsftpd

安装完成之后,会在/etc目录下多出一个vsftp目录。如下图:

8c7cc6d7b8f45a5a56be0144ee6b0871.png
8c7cc6d7b8f45a5a56be0144ee6b0871.png

2:创建ftp服务端对应的用户

我们知道,ftp服务器,可能会提供出去(虽然凯哥这里不会提供出去),给其他的三方人员使用,从数据及服务器安全角度来考虑,我们给ftp服务一个单独的用户。这个用户就是用来登录ftp服务器使用的。

用户可以任意。这里咱们就把这个用户叫ftpuser吧,Linux添加用户的命令公式:useradd 用户名。那么,咱们就套用公式,对应的添加用户命令就是:

useradd ftpuser

给新添加的用户ftpuser添加密码。Linux给某个用户添加密码的命令公式:passwd 用户名。所以,咱们套用这个添加用户的公式后命令就是:

passwd ftpuser

输入两次密码后,就修改密码成功了。

这样一用户就新建完成了。创建之后,就可以使用这个用户名及密码登录。登录后默认的访问路径就是:/home/ftpuser

3:开放对应的端口

因为这里使用的是云服务器,就找到对应的安全策略组,把21和22端口放开就可以了。

在对应的服务器详情中,找到安全组A某云)或者找到防火墙(T某云),因为凯哥这里使用的是T某云。所以就如下图所示了。点击添加规则就可以了。

d40d106a9ac1a14d9437a20d972f2db6.png
d40d106a9ac1a14d9437a20d972f2db6.png

如果是自己本地的,可以把防火墙的21和22端口打开。这里就不赘述了。

4:selinux得修改

一般是新服务器的话,selinux是自动关闭的。没有开启状态。使用下面的命令:

getsebool -a |grep ftp

1133b0e00799eaecc174953d1507f453.png
1133b0e00799eaecc174953d1507f453.png

可以看到,SElinux isdisabled。

如果你的服务器上,SElinux是开启的,可能会出现,外网可以访问,没目录返回,且也上传不了。这就是SElinux的原因。处理办法:

59ae55041a21171036e2a0736d2e895f.png
59ae55041a21171036e2a0736d2e895f.png

在执行完上面命令后,如果返回结果中,看到上图高亮的两个是off的话,就代表,没有开启外网访问。使用下面命令:

setsebool -P allow_ftpd_full_access on setsebool -P ftp_home_dir on

将这两个设置为on。

5:vsftpd.conf的配置

关闭匿名访问权限

在/etc/vsftpd/vsftpd.conf文件中找到:anonymous_enable=YES。将这个YES修改成NO。

737d4254fe8c8b927af4cb242b8432b3.png
737d4254fe8c8b927af4cb242b8432b3.png

修改之后,重启ftp服务。重启命令:

service vsftpd restart

6:启动被动模式

这个被动默认是开启的。但是,被动的端口,可能是随机的。所以,我们需要给定一个端口范围。同样,在vsftp.conf文件中修改。在这个文件的最后面加上:

pasv_min_port=30000 pasv_max_port=30999

bcb5bcc3d07f11c9ab6f8dafde94e90f.png
bcb5bcc3d07f11c9ab6f8dafde94e90f.png

这个端口范围,可以随意给定,需要注意,1:不能和其他端口冲突;2:添加完成之后,记得重启vsftp服务。

因为新增加了端口范围,所以,同样需要在安全组策略或者防火墙将对应端口打开。

7:将VSFTPD的FTP服务设置成开机启动

如果,你不行,服务器重启之后,FTP服务就不能访问,或者每次重启服务器之后,都需要手动启动VSFTPD的话,可以将VSFTPD设置成随机启动的。使用命令:

chkconfig vsftpd on

8:验证

以上几步操作完整之后,可以进行验证了。在ftp目录下添加一个jpg文件。然后通过ip或者是配置了Nginx反向代理的话,可以通过域名或者Nginx的ip访问试试。

大家好,我是凯哥Java(kaigejava),乐于分享技术文章,欢迎大家关注“凯哥Java”或“kaigejava”(G**Z**H),及时了解更多。让我们一起学Java。也欢迎大家有事没事就来和凯哥聊聊~~~

在操作时候,遇到的问题如下:

①:使用代码上传

正常情况下,默认是21端口。如果21端口上传不了,你可以切换成22端口试试。

②:图片上传后,访问不了:

修改/etc/vsftpd/ftpuser

ftpusers里面是ftp默认拒绝的用户,如果要想系统用户,就把这个用户从ftpusers文件中删除。

在这里要注意,不要把/etc/pam.d/vsftpd里面的deny改成allow,不然你自己建立的用户就会报530 Login incorrect.

好文章推荐:

自定义注解系列教程

docker系列教程

分布式相关

凯哥推荐

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1:安装VSFTP组件
  • 2:创建ftp服务端对应的用户
  • 3:开放对应的端口
  • 4:selinux得修改
  • 5:vsftpd.conf的配置
  • 6:启动被动模式
  • 7:将VSFTPD的FTP服务设置成开机启动
  • 8:验证
  • 在操作时候,遇到的问题如下:
    • ①:使用代码上传
      • ②:图片上传后,访问不了:
      • 好文章推荐:
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档