文件服务器之二:FTP服务器(pureftp)

简介:

FTP(File Transfer Protocol),文件传输协议,主要用来进行文件传输(尤其是用来传输大型文件非常方便),用于Internet上的控制文件的双向传输。用户可以通过该服务把自己的PC机与世界各地所有运行FTP协议的服务器相连,以此来访问服务器上的大量程序和信息.

FTP的主要作用,就是让用户连接上一个远程计算机(该远程计算机上运行着FTP服务),查看该计算机上有哪些文件,或者将需要的文件从远程计算机上拷贝到本地,或将本地的文件传输到远程计算机上去。但是在传输的过程中具有一定的危险性,因为数据在Internet上面是完全没有保护的明文传输方式。在 CentOS 或者 RedHat Linux 上有自带的 ftp 软件叫做 vsftp,但在这里先介绍另外一款提供 ftp 服务的软件(pure-ftpd)。这个软件比 vsftp 配置起来更加灵活。



下面我们就来看看pureftp的部署和优化过程,这里我们采用源码包编译安装的方法:

1、下载源码包:Pure-ftpd的官网是:http://www.pureftpd.org/project/pure-ftpd

我们可以到该网站去下载我们需要的版本:

cd /usr/local/src

wget wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2


2、安装步骤:


tar xjvf pure-ftpd-1.0.42.tar.bz2

cd pure-ftpd-1.0.42

./configure \

--prefix=/usr/local/pureftpd \

--without-inetd \

--with-altlog \

--with-puredb \

--with-throttling \

--with-peruserlimits \

--with-tls

注意:我们在这里可能会遇到错误,在编译之后系统会提示:configure: error: OpenSSL headers not found.

解决方法是:yum install -y openssl openssl-devel,如果找不到这两个包,则需要安装yum的扩展源:yum install -y epel-release

make && make install


3、配置 pure-ftpd

cd configuration-file

mkdir -p /usr/local/pureftpd/etc/

cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf

cd pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl

chmod 755 /usr/local/pureftpd/sbin/pure-config.pl

在启动 pure-ftpd 之前需要先修改配置文件,配置文件为/usr/local/pureftpd/etc/pure-ftpd.conf, 你可以打开看一下,里面内容很多,下面是笔者提供的配置文件内容,如果你觉得直接更改嫌麻烦,直接把自带配置删除,然后把下面的配置粘贴即可


  ChrootEveryone yes

  BrokenClientsCompatibility no

  MaxClientsNumber 50

  Daemonize yes

  MaxClientsPerIP 8

  VerboseLog no

  DisplayDotFiles yes

  AnonymousOnly no

  NoAnonymous no

  SyslogFacility ftp

  DontResolve yes

 MaxIdleTime 15

  PureDB /usr/local/pureftpd/etc/pureftpd.pdb

  LimitRecursion 3136 8

  AnonymousCanCreateDirs no

  MaxLoad 4

  AntiWarez yes

  Umask 133:022 

  MinUID 100

  AllowUserFXP no

  AllowAnonymousFXP no

  ProhibitDotFilesWrite no

  ProhibitDotFilesRead no

  AutoRename no

  AnonymousCantUpload no

  PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid

  MaxDiskUsage 99

  CustomerProof yes


4、启动 pure-ftpd

cd /usr/local/pureftpd/

./sbin/pure-config.pl ./etc/pure-ftpd.conf

如果是启动成功,会显示一行长长的以 Running 开头的信息,否则那就是错误信息。重启可能会比较麻烦一些,毕竟我们没有启动脚本。重启的话,可以使用下面的命令来实现。

killall puref-ftpd

cd /usr/local/pureftpd/; ./sbin/pure-config.pl ./etc/pure-ftpd.conf


5、建立账号

Pure-ftpd 使用的账号并非 Linux 系统账号,而是虚拟账号。因为,这样做比较安全。

mkdir /data/www/

useradd ftp

chown -R ftp:ftp /data/www/

/usr/local/pureftpd/bin/pure-pw useradd ftp_user1 -uftp -d /data/www/

Password:

Enter it again:

其中, -u 将虚拟用户 ftp_user1 与系统用户 www 关联在一起,也就是说使用 ftp_user1
账号登陆 ftp 后,会以 www 的身份来读取文件或下载文件。 -d 后边的目录为 ftp_user1 账户
的家目录,这样可以使 ftp_user1 只能访问其家目录/data/www/。到这里还未完成,还有最关
键的一步,就是创建用户信息数据库文件:

/usr/local/pureftpd/bin/pure-pw mkdb

pure-pw 还可以列出当前的 ftp 账号,当然也可以删除某个账号, 我们再创建一个账号:

/usr/local/pureftpd/bin/pure-pw useradd ftp_user2 -uwww -d /tmp

/usr/local/pureftpd/bin/pure-pw mkdb

注意:每次创建了一个帐号之后,就要执行这条命令,生成一个数据库文件,不然会报错

列出当前账号:

/usr/local/pureftpd/bin/pure-pw list

删除账号的命令为:

/usr/local/pureftpd/bin/pure-pw userdel ftp_user2


6、测试

在远程机器上下载lftp:yum install -y lftp

使用远程机器连接ftp服务:lftp user_ftp1@192.168.1.125

本文转自奇迹的少年博客51CTO博客,原文链接http://blog.51cto.com/raffaelexr/1723325如需转载请自行联系原作者


liliangchun

相关文章
|
29天前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
|
29天前
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
|
1月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
3月前
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
4月前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
154 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
5月前
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
75 1
|
2天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
8天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
40 9
|
5天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
8天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
44 2
下一篇
无影云桌面