博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置FTP服务
阅读量:5730 次
发布时间:2019-06-18

本文共 7898 字,大约阅读时间需要 26 分钟。

也许你对FTP不陌生,但是你是否了解FTP到底是个什么玩意? FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。FTP用的比NFS更多,所以请你一定要熟练配置它。

其实在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftp, 但pp介绍的并不是它,如果你有兴趣可以和pp交流,pp本章使用pure-ftpd搭建ftp服务器,因为这个软件比vsftp配置起来更加灵活和安全。

安装pure-ftpd

1. 下载软件

pure-ftpd 官网是  当前最新版本为1.0.42, 但pp不建议使用最新版本,最新版有可能有一些小bug.

[root@localhost ~]# cd /usr/local/src/[root@localhost src]# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2

2. 安装pure-ftpd

[root@localhost src]# tar jxf pure-ftpd-1.0.42.tar.bz2[root@localhost src]# cd pure-ftpd-1.0.42[root@localhost pure-ftpd-1.0.42]# ./configure \--prefix=/usr/local/pureftpd \--without-inetd \--with-altlog \--with-puredb \--with-throttling \--with-peruserlimits  \--with-tls[root@localhost pure-ftpd-1.0.42]# make && make install

配置pure-ftpd

1. 修改配置文件

pure-ftpd 编译安装很快就完成了,而且极少有出现错误的时候,下面就该配置它了:

[root@localhost pure-ftpd-1.0.42]# cd configuration-file[root@localhost pure-ftpd-1.0.42]# mkdir -p /usr/local/pureftpd/etc/[root@localhost configuration-file]# cp pure-ftpd.conf    /usr/local/pureftpd/etc/pure-ftpd.conf[root@localhost configuration-file]# cp pure-config.pl    /usr/local/pureftpd/sbin/pure-config.pl[root@localhost configuration-file]# chmod 755    /usr/local/pureftpd/sbin/pure-config.pl

在启动pure-ftpd之前需要先修改配置文件,配置文件为/usr/local/pureftpd/etc/pure-ftpd.conf, 你可以打开看一下,里面内容很多,如果英文好,可以好好研究一番,下面是pp的配置文件,如果你嫌麻烦,直接拷贝过去即可:

ChrootEveryone              yesBrokenClientsCompatibility  noMaxClientsNumber            50Daemonize                   yesMaxClientsPerIP             8VerboseLog                  noDisplayDotFiles             yesAnonymousOnly               noNoAnonymous                 noSyslogFacility              ftpDontResolve                 yesMaxIdleTime                 15PureDB                        /usr/local/pureftpd/etc/pureftpd.pdbLimitRecursion              3136 8AnonymousCanCreateDirs      noMaxLoad                     4AntiWarez                   yesUmask                       133:022MinUID                      100AllowUserFXP                noAllowAnonymousFXP           noProhibitDotFilesWrite       noProhibitDotFilesRead        noAutoRename                  noAnonymousCantUpload         noPIDFile                     /usr/local/pureftpd/var/run/pure-ftpd.pidMaxDiskUsage               99CustomerProof              yes

2. 启动pure-ftpd

[root@localhost ~]# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

如果是启动成功,会显示一行长长的以Running开头的信息,否则那就是错误信息,如果你解决不了,请到pp论坛(

也许你对FTP不陌生,但是你是否了解FTP到底是个什么玩意? FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。FTP用的比NFS更多,所以请你一定要熟练配置它。

其实在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftp, 但阿铭介绍的并不是它,如果你有兴趣可以和阿铭交流,阿铭本章使用pure-ftpd搭建ftp服务器,因为这个软件比vsftp配置起来更加灵活和安全。

安装pure-ftpd

1. 下载软件

pure-ftpd 官网是  当前最新版本为1.0.42, 但阿铭不建议使用最新版本,最新版有可能有一些小bug.

[root@localhost ~]# cd /usr/local/src/[root@localhost src]# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2

2. 安装pure-ftpd

[root@localhost src]# tar jxf pure-ftpd-1.0.42.tar.bz2[root@localhost src]# cd pure-ftpd-1.0.42[root@localhost pure-ftpd-1.0.42]# ./configure \--prefix=/usr/local/pureftpd \--without-inetd \--with-altlog \--with-puredb \--with-throttling \--with-peruserlimits  \--with-tls[root@localhost pure-ftpd-1.0.42]# make && make install

配置pure-ftpd

1. 修改配置文件

pure-ftpd 编译安装很快就完成了,而且极少有出现错误的时候,下面就该配置它了:

[root@localhost pure-ftpd-1.0.42]# cd configuration-file[root@localhost pure-ftpd-1.0.42]# mkdir -p /usr/local/pureftpd/etc/[root@localhost configuration-file]# cp pure-ftpd.conf    /usr/local/pureftpd/etc/pure-ftpd.conf[root@localhost configuration-file]# cp pure-config.pl    /usr/local/pureftpd/sbin/pure-config.pl[root@localhost configuration-file]# chmod 755    /usr/local/pureftpd/sbin/pure-config.pl

在启动pure-ftpd之前需要先修改配置文件,配置文件为/usr/local/pureftpd/etc/pure-ftpd.conf, 你可以打开看一下,里面内容很多,如果英文好,可以好好研究一番,下面是阿铭的配置文件,如果你嫌麻烦,直接拷贝过去即可:

ChrootEveryone              yesBrokenClientsCompatibility  noMaxClientsNumber            50Daemonize                   yesMaxClientsPerIP             8VerboseLog                  noDisplayDotFiles             yesAnonymousOnly               noNoAnonymous                 noSyslogFacility              ftpDontResolve                 yesMaxIdleTime                 15PureDB                        /usr/local/pureftpd/etc/pureftpd.pdbLimitRecursion              3136 8AnonymousCanCreateDirs      noMaxLoad                     4AntiWarez                   yesUmask                       133:022MinUID                      100AllowUserFXP                noAllowAnonymousFXP           noProhibitDotFilesWrite       noProhibitDotFilesRead        noAutoRename                  noAnonymousCantUpload         noPIDFile                     /usr/local/pureftpd/var/run/pure-ftpd.pidMaxDiskUsage               99CustomerProof              yes

2. 启动pure-ftpd

[root@localhost ~]# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

如果是启动成功,会显示一行长长的以Running开头的信息,否则那就是错误信息,如果你解决不了,请到阿铭论坛()获取帮助吧。

3. 建立账号

[root@localhost ~]# mkdir /data/www/[root@localhost ~]# useradd www[root@localhost ~]# chown -R www:www /data/www/[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw useradd ftp_user1  -uwww -d /data/www/Password:Enter it again:

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

[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw mkdb

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

[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw  useradd ftp_user2 -uwww -d /tmp[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw mkdb

列出当前账号:

[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw list

删除账号的命令为:

[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw  userdel ftp_user2

测试pure-ftpd

测试需要使用的工具叫做lftp, 先安装一下它:

[root@localhost ~]# yum install -y lftp

测试:

[root@localhost ~]# touch /data/www/123.txt[root@localhost ~]# lftp ftp_user1@127.0.0.1口令:lftp ftp_user1@127.0.0.1:~> lsdrwxr-xr-x    2 514        www              4096 Jun 12 11:14 .drwxr-xr-x    2 514        www              4096 Jun 12 11:14 ..-rw-r--r--    1 514        www                 0 Jun 12 11:14 123.txt

登陆后,使用 ls 命令可以列出当前目录都有什么文件。

3. 建立账号

[root@localhost ~]# mkdir /data/www/[root@localhost ~]# useradd www[root@localhost ~]# chown -R www:www /data/www/[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw useradd ftp_user1  -uwww -d /data/www/Password:Enter it again:

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

[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw mkdb

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

[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw  useradd ftp_user2 -uwww -d /tmp[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw mkdb

列出当前账号:

[root@localhost ~]# /usr/local/pureftpd/bin/pure-pw list

删除账号的命令为:

[root@localhost ~]#  /usr/local/pureftpd/bin/pure-pw  userdel ftp_user2

测试pure-ftpd

测试需要使用的工具叫做lftp, 先安装一下它:

[root@localhost ~]# yum install -y lftp

测试:

[root@localhost ~]# touch /data/www/123.txt[root@localhost ~]# lftp ftp_user1@127.0.0.1口令:lftp ftp_user1@127.0.0.1:~> lsdrwxr-xr-x    2 514        www              4096 Jun 12 11:14 .drwxr-xr-x    2 514        www              4096 Jun 12 11:14 ..-rw-r--r--    1 514        www                 0 Jun 12 11:14 123.txt

登陆后,使用 ls 命令可以列出当前目录都有什么文件。

本文转自 linuxpp 51CTO博客,原文链接:http://blog.51cto.com/1439337369/1689061,如需转载请自行联系原作者

你可能感兴趣的文章
MairDB 初始数据库与表 (二)
查看>>
RabbitMQ】三种Exchange模式——订阅、路由、通配符模式
查看>>
连接数据库——java
查看>>
拥在怀里
查看>>
chm文件打开,有目录无内容
查看>>
whereis、find、which、locate的区别
查看>>
TRUNK
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
MDT 2013 从入门到精通之软件自动化部署设置
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
桌面支持--outlook取消收件规则1
查看>>
nagios监控windows 改了NSclient++默认端口 注意事项
查看>>
儿呀,娘想做你家的一条狗
查看>>
干货 | JAVA代码引起的NATIVE野指针问题(上)
查看>>
POI getDataFormat() 格式对照
查看>>
Project build error: Non-resolvable import POM
查看>>
数据类型
查看>>
Python 中的进程、线程、协程、同步、异步、回调
查看>>
swoft速学~redis引入
查看>>
LTS
查看>>