Centos下ProFTPD配置FTP服务器

运维 系统运维
Centos下ProFTPD 构建FTP服务器:CentOS操作系统是商业版本Red Hat Enterprise Linux的免费版,是架构LAMP的理想操作系统。vsftpd提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式,具有强大的单用户设置能力及带宽限流等。那么如何在Centos 下安装配置vsftpd呢?

CentosProFTPD 构建FTP服务器:CentOS操作系统是商业版本Red Hat Enterprise Linux的免费版,是架构LAMP的理想操作系统。vsftpd提供的主要功能包括虚拟IP设置、虚拟用户、Standalone、inetd操作模式,具有强大的单用户设置能力及带宽限流等。那么如何在Centos 下安装配置vsftpd呢?

  FTP服务被广泛的应用着,常见的,一些大学、组织、机构等等,都有通过FTP服务器向外发布数据…但在这里,我们将要构建的FTP服务器将主要针对用于用户更新自己的网站。也就是说,让用户(root除外)只可以访问自己的Web目录(本站前面介绍的HTTP服务器构建中以public_html为例)。

  另外,为了避免通过平文传输时,数据被截获,从而泄漏隐私与密码,我们采用TLS方式,加密FTP传输过程中的数据,以确保安全。

  (构建FTP服务器,您将有多种选择,比如通过vsftpd等等FTP服务器软件。但ProFTPD在一些方面,更能够符合我们的实际条件,尤其对于ADSL方式接入网络的服务器,ProFTPD能够很好的应对不断变化的IP地址造成的问题。)

一、安装 ProFTPD

  由于ProFTPD不存在于CentOS中yum的官方库中,所以用yum安装ProFTPD需要定义非官方的库。请先确认相应非官方库文件的存在。

  /etc/yum.repos.d/dag.repo  ← 确认相应库文件的存在性

  /etc/yum.repos.d/dag.repo  ← 确认其存在(否则不能通过yum安装ProFTPD)

  如果以上,dag.repo文件不存在,则不能通过yum安装ProFTPD,需要定义非官方库。定义非官方库的方法请见 “CentOS的下载、安装及初始环境设置”一节中yum的相关设置。而且,在此前提下也要保证所定义的dag.repo文件的语法的正确性。

  然后,通过yum来在线安装ProFTPD。

  [root@sample ~]# yum -y install proftpd  ← 安装ProFTPD

二、配置 ProFTPD

  然后,通过修改相应配置文件配置ProFTPD。

  [root@sample ~]# vi /etc/proftpd.conf  ← 修改ProFTPD的配置文件

  ServerType        standalone   ← 找到这一行,在行首添加“#”

  ↓

  #ServerType        standalone   ← 变为此状态,不使用常驻模式

  #ServerType       inetd   ← 找到这一行,去掉行首的“#”

  ↓

  ServerType       inetd   ← 变为此状态,通过超级服务器来启动ProFTPD

  DefaultRoot        ~ !adm   ← 找到这一行,将“ !adm”改为“/public_html !wheel”

  ↓

  DefaultRoot        ~/public_html !wheel   ← 变为此状态,使除wheel组用户的根目录为public_html

  找到TLS设置的语句群,如下:

  # TLS

  # Explained at

  ----------------------------------------------------------------

  #TLSEngine         on

  #TLSRequired        on

  #TLSRSACertificateFile   /usr/share/ssl/certs/proftpd.pem

  #TLSRSACertificateKeyFile /usr/share/ssl/certs/proftpd.pem

  #TLSCipherSuite      ALL:!ADH:!DES

  #TLSOptions        NoCertRequest

  #TLSVerifyClient       off

  ##TLSRenegotiate     ctrl 3600 data 512000 required off timeout 300

  #TLSLog           /var/log/proftpd/tls.log

  ----------------------------------------------------------------

  将以上水平线间部分的语句,每行行首的“#”都去掉,变为下面水平线间的状态:

  ----------------------------------------------------------------

  TLSEngine          on

  TLSRequired         on  ← 只允许TLS方式的连接(如果将on改为off,普通方式也被允许)

  TLSRSACertificateFile    /usr/share/ssl/certs/proftpd.pem

  TLSRSACertificateKeyFile  /usr/share/ssl/certs/proftpd.pem

  TLSCipherSuite       ALL:!ADH:!DES

  TLSOptions         NoCertRequest

  TLSVerifyClient       off

  #TLSRenegotiate      ctrl 3600 data 512000 required off timeout 300

  TLSLog            /var/log/proftpd/tls.log

  ----------------------------------------------------------------

  然后在配置文件的末尾填如下几行:

  ExtendedLog        /var/log/proftpd/access.log WRITE,READ default  ← 记录连接日志到相应日志文件

  ExtendedLog        /var/log/proftpd/auth.log AUTH auth  ← 记录认证日志到相应日志文件

  MasqueradeAddress    digeast.no-ip.info  ← 定义服务器域名

  PassivePorts        50000 50030  ← 为PASV模式连接时指定端口号(1024以后存在的任意端口号)

  然后,为服务器建立证书。

  [root@sample ~]# cd /usr/share/ssl/certs  ← 进入相应的目录

  [root@sample certs]# make proftpd.pem  ← 建立服务器证书

  Country Name (2 letter code) [GB]:CN  ← 输入国家简写

  State or Province Name (full name) [Berkshire]:Hei Long Jiang  ← 输入省份

  Locality Name (eg, city) [Newbury]:Harbin  ← 输入城市

  Organization Name (eg, company) [My Company Ltd]:www.centospub.com  ← 输入组织名(任意)

  Organizational Unit Name (eg, section) []:  ← 直接回车跳过

  Common Name (eg, your name or your server's hostname) []:www.centospub.com   ← FTP服务器名反馈

  Email Address []:yourname@yourserver.com  ← 输入E-mail地址

三、启动 ProFTPD

  启动之前,先对超级服务器的ProFTPD的启动脚本做一些修改。

  [root@sample certs]# vi /etc/xinetd.d/xproftpd  ← 编辑ProFTPD启动脚本

  log_on_success += DURATION USERID  ← 找到此行,将“DURATION USERID”改为“HOST PID”

  ↓

  log_on_success += HOST PID   ← 变为此状态,防止登录时要等待30秒

  log_on_failure += USERID  ← 找到此行,将“USERID”改为“HOST”

  ↓

  log_on_failure += HOST   ← 变为此状态,防止登录时要等待30秒

  disable = yes  ← 找到此行,将yes改为no

  ↓

  disable = no   ← 变为此状态,让ProFTPD通过超级服务器启动

  然后,通过重新启动超级服务器间接启动ProFTPD。

  [root@sample certs]# chkconfig xproftpd on  ← 设置ProFTPD自启动

  [root@sample certs]# chkconfig --list xproftpd  ← 查看ProFTPD自启动

  xproftpd on  ← 确认为on的状态就OK

  [root@sample certs]# /etc/rc.d/init.d/xinetd restart  ← 重新启动超级服务器

  Stopping xinetd:                [ OK ]

  Starting xinetd:                 [ OK ]

四、连接到FTP服务器

  当我们成功的启动了FTP服务之后,就可以通过客户端软件连接到服务器进行文件的上传和下载了。但由于,本站介绍的方法,把安全、传输的保密性放在了***位,这也就使得好多不支持TSL的FTP软件无法连接到服务器。支持TSL的FTP客户端软件,比较有代表性的有Staff-FTP, SmartFTP。本站将以SmartFTP为例(下一节),介绍如何从客户端通过FTP连接到服务器的方法。

【编辑推荐】

  1. Centos5.4下安装配置vsftpd
  2. 用MySQL和Proftpd配置FTP服务器
  3. ProFTPD 下的五大问题
  4. Linux ProFTPd服务器配置(全)
  5. Ubuntu下安装ProFTPd和MySQL
  6. ProFTPD的启动与测试
  7. 手把手教你 配置ProFTPD服务器
  8. ProFTPd的启动
  9. 在图形界面下控制ProFTPD

 

责任编辑:zhaolei 来源: 网络转载
相关推荐

2011-03-07 17:04:02

ProftpdFTP

2011-03-03 09:40:58

2011-02-25 15:38:58

2011-02-23 12:18:28

DebianProFTPd服务器

2011-02-23 09:01:37

2011-02-25 16:14:09

proftpdftp

2011-02-25 16:34:01

LinuxProftpdFTP

2011-02-22 09:06:57

2010-03-24 15:53:09

2011-02-22 10:55:13

ProFTPd服务器配置

2011-02-24 13:33:35

ProFTPDFTP

2011-02-25 16:26:17

2011-02-22 17:42:26

2011-02-22 15:09:32

ProFTPD服务器

2011-03-08 15:47:57

Proftpdmysqlquota

2011-02-25 10:58:01

PROFTPD命令

2010-07-01 13:09:46

FTP服务器

2011-03-04 10:03:44

VSFTPD虚拟服务器

2017-03-17 14:05:48

LinuxUbuntuFTP服务器

2015-08-04 13:29:06

Fedoralinux
点赞
收藏

51CTO技术栈公众号