系统下FTP服务器的建立,在wdOS系统下搭建简单的ftp服务器

本文详细介绍了FTP文件传输协议及其两种传输模式,并讲解了在Linux(wdos系统)上如何搭建FTP服务器,包括匿名用户、系统用户和虚拟用户的设置。在搭建过程中,涉及到vsftpd软件包的安装、配置文件的修改、虚拟用户口令的生成以及PAM认证的配置。此外,还提供了针对可能出现的问题如服务重启失败、登录失败等的解决方案,确保FTP服务器的正常运行和测试。
摘要由CSDN通过智能技术生成

一.简介:

1.FTP文件传输协议是在TCP/IP网络和Internet上最早使用的协议之一,它属于网络协议应用层的协议。FTP客户机可以给FTP服务器发出命令来下载文件,上载文件,创建或修改服务器上的目录等等。

2.从服务器的角度去看,FTP的传输模式分为以下两种:

⑴主动FTP模式:

主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,文件的传输存在安全隐患,客户端如果安装了防火墙,在使用过程中也有可能会产生一些问题

⑵被动FTP模式:(实际生活中多采用该模式)

在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。

二.搭建步骤

1.由于wdos系统中并没有安装vsftpd软件包,所以需要通过yum安装所需要的软件包

2.基于匿名的ftp服务器架设(匿名账户有 anoymous 和ftp 这两个)

3.基于系统用户的ftp服务器架设(在服务器中手动建立)

4.基于虚拟用户的ftp服务器架设

4.测试

5.可能遇到的问题的解决方案

三.搭建过程

1.使用yum  -y  install  vsftpd 安装vsftp软件包,如下图所示:

d90f0f2a626d32b1a4f3667947b50004.png

2.基于匿名用户的ftp架设

1)vi   /etc/vsftpd/vsftpd.conf  进入ftp的主配置文件,默认情况下允许匿名用户登录,所以只需要找到下图两句并把前面的#去掉,便可允许匿名用户上传文件和创建新目录:

0144f24563be5934fd41c07be967b062.png

4d8e1e73bd326c148b5b842ef4cd06bf.png

2)允许匿名用户上传文件的FTP服务器:

方法一:创建一个属于ftp匿名用户使用的目录

a82cc6153f14279333dd1cdea534c4c1.png

方法二:创建一个属于root用户的目录,但修改目录权限为允许其他用户修改目录内容

aad2ebde6464a8c7df1055ae67ab5fed.png

3)重启vsftpd服务

使用命令service  vsftpd  restart 重启该服务

689a27de4445ad81ce3084f29180cf50.png

3.基于虚拟用户的ftp架设

1)创建本地虚拟用户user1和user2,设置密码为123456

c9720dd39b0f16f35e92df38793c3bc5.png

df19187bcf43102f7d82347af143065b.png

2)修改主配置文件/etc/vsftpd/vsftpd.conf,将图中标注的两行前的注释符去掉

d810cce8299efd091ff15c5fe695cf3d.png

3)在/etc/vsftpd这一目录下,新建一个chroot_list文件用于存放新建的用户:

fe45dcb3067b077fcf496a6c8656fc2b.png

972eed779160b625cf9f9f53247c82cf.png

4)服务重启

使用命令service  vsftpd  restart 重启该服务

ecbd0951ac731beaa9a7c625b82b289e.png

4.基于虚拟用户的搭建

1)添加虚拟用户口令文件 /etc/vsftpd/vuser.txt;在该文件下添加虚拟用户和密码

02fdf21630a6ccedc600f3dae79a5658.png

2)安装生成口令认证文件所需的软件包db4-utils

10c251b41ca19c5fb9b8d8009e0c1011.png

3)使用db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db命令生成虚拟用户口令认证文件

4)编辑vsftpd的PAM认证文件:

vi /etc/pam.d/vsftpd,将里面的内容全部删除或者注释掉,另外添加下面两句命令:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

a34f9747251200501eb87ea34dbf48b2.png

5)建立本地映射用户并设置宿主目录权限

所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

useradd –d /home/vftpsite –s /sbin/nologin vsftpuser

chmod 700 /home/vftpsite

b3b8b097e638a1872da103e7ea834f07.png

d96716d7566cf2fbe29130392945e655.png

6)到主配置文件 /etc/vsftpd/vsftpd.conf 配置虚拟用户

f0bd413476f7f247e00003e7c74e652c.png

7)重启该服务

四.测试

1.基于匿名用户的测试:(这里只测试新创建的目录forup1)

1)使用匿名账户 ftp登录,密码为空;

c043b9911d8d2eb2560703a4714bcad7.png

2)客户端上传test.txt到已经创建好的目录forup1

0c94492372af6ce9b816f0442b908341.png

3)到ftp服务器查看是否上传成功,如果需要下载已经上传的文件test.txt,可通过修改该文件的权限

fc3f3239a8a2518f4727e568a736ce0a.png

使用命令chmod 644 test.txt修改文件的权限:

28a8458e154c6d179d07625f0ec1d7a1.png

客户端测试是否能下载:

56c52e7d6abc5a87d7841c3c52356ea9.png

2.基于系统用户的测试:(这里使用新建的账户user1来测试)

1)使用虚拟用户user1登录到ftp服务器,并创建一个新的文件

2ba1a3dbac3c2105411c037f8b6a0192.png

2)在服务器上查看/home/user1目录下的文件,是否添加成功

dcff0425976e36605aa3025b94ac8b3b.png

3.基于虚拟用户的测试:

5f9edcf66423fe91362e690c3d15375c.png

五.可能遇到的问题解决方案

1.如果在服务重启的过程中提示重启失败,用命令 netstat -lnpt 查看各个端口的启用状态,确保21端口侦听的是vsftpd的服务

0214312d4b5607102bca99f94e5b1a7e.png

P.s. 一般情况下,wdos系统的21端口被pureftpd服务占用了,这时可以通过命令 service  pureftpd stop 来关闭这项服务

e286a63f5ee1eb75f3e36bc333567560.png

2.如果在测试过程中出现530登录失败这样的错误,则通过命令vi /etc/selinux/config 进入该文件查看sellinux是否设置为disable,同时通过命令 service iptables  stop 将防火墙关闭,重启vsftpd服务,重新测试即可。

900ca1f99d472023dec1ecef7f363666.png

0d834bd5e3c739e753fe4cc30bb20ec5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值