热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ProFTPd服务器的安装和配置

http://www.proftpd.org/下载最新版本1.将刚刚下载的proftpd解压缩:[root@tetroot]#wget\http://ftp.nsysu.edu.tw/Unix/FTP/proftpd/distrib/source/proftpd-1.3.3.tar.gz[root@testroot]#
     http://www.proftpd.org/ 

下载最新版本

1.将刚刚下载的proftpd解压缩:

[root@tet root]# wget \

>  http://ftp.nsysu.edu.tw/Unix/FTP/proftpd/distrib/source/proftpd-1.3.3.tar. gz

[root@test root]# cd /usr/local/src

[root@test src]# tar -zxvf /root/proftpd-1.3.3.tar.gz

# ...(略)...会主动产生proftpd-1.3.3的目录

[root@test src]# cd proftpd-1.3.3

#在这个目录底下的 INSTALL 请详细的阅读,里面有安装的几个重要资讯!


2.进行编译前的参数设定:

[root@test proftpd-1.3.3]# ./configure --prefix=/usr/local/proftpd \

> --enable-shadow --enable-autoshadow \

> --with -modules=mod_ratio:mod_readme:mod_wrap

#请注意,那个prefix表示我预计要安装proftpd的目录;

#至于--enable-shadow与--enable-autoshadow则是预计要以

#系统的/etc/shadow做为我的FTP登入时的密码验证档案!

#此外,还加入许多的支援模组,会让我们的Proftpd变的更活泼!


[root@test proftpd-1.3.3]# make && make install

#经过这个步骤之后,你的proftpd就会安装在/usr/local/proftpd之内,

#其中,设定档在/usr/local/proftpd/ etc/proftpd.conf !

#至于说明档(man pages)则在/usr/local/proftpd/man当中!


3.设定一些查询的相关功能!

[root@test proftpd-1.3.3]# vi /etc/man.config

#加入底下这一行,这样才能以man来查询指令的用法!

MANPATH /usr/local/proftpd/man

4.设置xinetd 来启动proftpd

事实上,目前大部分的FTP daemon 多是以super daemon 来启动的!所以这里我们也直接以xinetd 来设定proftpd 吧!毕竟多了一层管理,会更安全的啊!^_^!设定的方法也真是很简单~只要编辑xinetd 底下的proftpd 以及proftpd.conf 档案里面的一些内容即可!

[root@test root]# vi /etc/xinetd.d/proftpd

service ftp

{

  disable         = no

       flags = REUSE

       socket_type = stream

       wait = no

       user = root

  server          = /usr/local/proftpd/sbin/proftpd

       server_args = -c /usr/local/proftpd/etc/proftpd.conf 

       log_on_success += DURATION USERID

       log_on_failure += USERID

}

#上面的重点在于两行粗体字的地方!尤其是server =..那一行!

#由于我们是使用Tarball安装的,自然就以我们的档案放置目录为主,

#如果您使用RPM安装,这里就不太相同??

#另外,那个server_args后面接的则是设定档的档名咯!


[root@test root]# vi /usr/local/proftpd/etc/proftpd.conf

#找到底下这个设定值:

ServerType standalone

Group nogroup

#因为我们的系统预设并没有nogroup这个群组,所以必须要将他改成

#系统里面有的群组才行呐!而伺服器启动的方式有super daemon与 

# stand alone ,所以:

ServerType inetd

Group nobody


[root@test root]# /etc/rc.d/init.d/xinetd restart

[root@test root]# netstat -tlnp

tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 8483/xinetd

#呵呵!21这个埠口出现了!理论上没有问题,不过还是需要分析一下

# /var/log/messages这个档案的内容才行喔!

proftpd配置:

# This is a basic ProFTPD configuration file (rename it to

# 'proftpd.conf' for actual use.  It establishes a single server

# and a single anonymous login.  It assumes that you have a user/group

# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"

ServerType                      standalone

DefaultServer                   on

UseReverseDNS                   off

IdentLookups                    off

AuthPAM                         off

RequireValidShell               off

UserPassword username1 password1

UserPassword username2 password2

#其中password1可以用apache2自带的htpasswd -n username1 自动生成

# Port 21 is the standard FTP port.

Port                            21

# Umask 022 is a good standard umask to prevent new dirs and files

# from being group and world writable.

Umask                           022

# To prevent DoS attacks, set the maximum number of child processes

# to 30.  If you need to allow more than 30 concurrent connections

# at once, simply increase this value.  Note that this ONLY works

# in standalone mode, in inetd mode you should use an inetd server

# that allows you to limit maximum number of processes per service

# (such as xinetd).

MaxInstances                    30

# Set the user and group under which the server will run.

User                            nobody

Group                           nobody

# To cause every FTP user to be "jailed" (chrooted) into their home

# directory, uncomment this line.

DefaultRoot /your_project

# Normally, we want files to be overwriteable.

AllowOverwrite          on

# Bar use of SITE CHMOD by default

  DenyAll

AllowUser username1

AllowUser username1

  DenyAll

# A basic anonymous configuration, no upload directories.  If you do not

# want anonymous users, simply delete this entire section.

  User                          ftp

  Group                         ftp

  # We want clients to be able to login with "anonymous" as well as "ftp"

  UserAlias                     anonymous ftp

  # Limit the maximum number of anonymous logins

  MaxClients                    10

  # We want 'welcome.msg' displayed at login, and '.message' displayed

  # in each newly chdired directory.

  DisplayLogin                  welcome.msg

  DisplayChdir                  .message

  # Limit WRITE everywhere in the anonymous chroot

 

    DenyAll

 


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 如何在PHPCMS V9中实现多站点功能并配置独立域名与动态URL
    本文介绍如何在PHPCMS V9中创建和管理多个站点,包括配置独立域名、设置动态URL,并确保各子站能够正常运行。我们将详细讲解从新建站点到最终配置路由的每一步骤。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
author-avatar
翻版的袁城
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有