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

ProFTPd服务器安装配置文档

服务器环境:RHEL5.4下载ProFTP:#wgetftp://ftp1.hk.proftpd.org/proftpd/distrib/source/proftpd-1.3.4a.tar.bz21.FTP要求:公司四个部门:运维部、开发部、销售部、行政部各部门用户访问FTP后可以看到所有目录,仅可以访问本部门的目录需

服务器环境:RHEL5.4
下载ProFTP:
# wget ftp://ftp1.hk.proftpd.org/proftpd/distrib/source/proftpd-1.3.4a.tar.bz2

1.FTP要求:
  公司四个部门:运维部、开发部、销售部、行政部
  各部门用户访问FTP后可以看到所有目录,仅可以访问本部门的目录
  需要FTP日志功能
  FTP认证方式基于文件认证方式
  共享目录:/var/ftp

2.解压文件:
# tar  -xjf   proftpd-1.3.4a.tar.bz2  -C /usr/src/
# cd  /usr/src/proftpd-1.3.4a/
安装前请先阅读INSTALL与README文件

3.安装ProFTPD:
#./configure  --help 查看帮助选项
######################################################################################
以下为部分选项说明:                  
--prefix=PREFIX  指定安装路径(--prefix=/usr/local/)          
--syscOnfdir=DIR        指定FTP服务配置文件路径(--syscOnfdir=/etc)            
--localstatedir=DIR     指定运行状态的文件存放位置(默认/var/proftpd)            
--with-modules=mod_ldap 指定加载功能模块               
--enable-memcache       支持缓存功能                
--enable-nls            支持多语言环境(如中文),安装完成后在主配置文件中需要指定字符编码(UseEncoding UTF-8 CP936) 
--enable-openssl        支持TLS加密FTP服务               
--enable-shadow  支持使用/etc/shadow验证用户密码              
######################################################################################################

注:需要GCC编译器
#./configure  --prefix=/usr/local/proftpd  --syscOnfdir=/etc/  --enable-nls  --enable-openssl  --enable-shadow 
#make
#make  install
#PATH=echo$PATH:/usr/local/proftpd/bin   添加环境变量
#useradd  -M -s /sbin/nologin  proftp
创建启动用户及组(该用户无法登录系统,没有宿主目录)

4.建立共享目录,修改配置文件:

#mkdir  -p  /var/ftp/{运维部,开发部,销售部,行政部}
#useradd -M -s /sbin/nologin  yunwei
#useradd -M -s /sbin/nologin  kaifa
#useradd -M -s /sbin/nologin  xiaoshou
#useradd -M -s /sbin/nologin  xingzheng
#chmod 777  /var/ftp/运维部
#chmod 777  /var/ftp/开发部
#chmod 777  /var/ftp/销售部
#chmod 777  /var/ftp/行政部

#vim  /etc/proftpd.conf     以下为配置文件原文(行号仅为参考值)
******************************************************************************************************
     1 # This is a basic ProFTPD configuration file (rename it to
     2 # 'proftpd.conf' for actual use.  It establishes a single server
     3 # and a single anonymous login.  It assumes that you have a user/group
     4 # "nobody" and "ftp" for normal operation and anon.
     5
     6 ServerName   "ProFTPD Default Installation"
客户端连接后显示的字符
     7 ServerType   standalone
服务启动模式
     8 DefaultServer   on
     9
    10 # Port 21 is the standard FTP port.
    11 Port    21 端口
    12
    13 # Don't use IPv6 support by default.
    14 UseIPv6    off 禁用IPv6
    15
    16 # Umask 022 is a good standard umask to prevent new dirs and files
    17 # from being group and world writable.
    18 Umask    022     权限掩码
    19
    20 # To prevent DoS attacks, set the maximum number of child processes
    21 # to 30.  If you need to allow more than 30 concurrent connections
    22 # at once, simply increase this value.  Note that this ONLY works
    23 # in standalone mode, in inetd mode you should use an inetd server
    24 # that allows you to limit maximum number of processes per service
    25 # (such as xinetd).
    26 MaxInstances   30      并发进程30个(防DoS攻击)
    27
    28 # Set the user and group under which the server will run.
    29 User    nobody  启动服务的用户
    30 Group    nobody  启动服务的组
    31
    32 # To cause every FTP user to be "jailed" (chrooted) into their home
    33 # directory, uncomment this line.
    34 #DefaultRoot ~   共享根目录(默认为用户家目录)
    35
    36 # Normally, we want files to be overwriteable.
    37 AllowOverwrite  on 是否允许使用文件覆写权限
    38
    39 # Bar use of SITE CHMOD by default
    40    权限设置
    41   DenyAll
    42

    43
    44 # A basic anonymous configuration, no upload directories.  If you do not
    45 # want anonymous users, simply delete this entire section.
    46
    47   User    ftp
    48   Group    ftp
    49
    50   # We want clients to be able to login with "anonymous" as well as "ftp"
    51   UserAlias   anonymous ftp 用户alias.html' target='_blank'>别名
    52
    53   # Limit the maximum number of anonymous logins
    54   MaxClients   10         最大客户端连接数
    55
    56   # We want 'welcome.msg' displayed at login, and '.message' displayed
    57   # in each newly chdired directory.
    58   DisplayLogin   welcome.msg 显示登录信息
    59   DisplayChdir   .message
    60
    61   # Limit WRITE everywhere in the anonymous chroot
    62        权限设置
    63     DenyAll
    64  

    65

******************************************************************************************************

该文件格式:
##########################################################################
#   全局设置 参数值                                                   #
#   全局设置 参数值                                                   #
#                                                                        #
#   指定路径相关设置,可以使用Limit语法限制目录权限  #
#         ... ...                                                        #
#   ... ...                                                        #
#                                                            #
#                       #
#                                                                        #
#          #
#     匿名共享路径相关设置(包括权限设置)     #
#  
               #
##########################################################################

Limit权限说明:
#########################################################################
#  CWD  : Change Working Directory 进入该目录  #
#  MKD  : Make Directory   创建目录 #
#  RNFR : Rename from   更名  #
#  DELE : Delete    删除文件 #
#  RMD  : Remove Directory  删除目录 #
#  READ :     可读         #
#  WRITE:     可写  #
#  STOR :     可上传  #
#  RETR :     可下载         #
#  DIRS :     允许列出目录 #
#  LOGIN:     允许登录 #
#  ALL  :     全部  #
#########################################################################

修改后有效的配置文件内容,部分内容为添加内容(#开始的部分为注释):

     6 ServerName   "ProFTPD Default Installation"
     7 ServerType   standalone  
     8 DefaultServer   on
     9  UseEncoding UTF-8 CP936   支持的编码格式(中文)
    11 Port    21
    12  AllowRetrieveRestart  on    允许断点继传(上传)
    13  AllowStoreRestart  on    允许断点继传(下载)
    14 UseIPv6    off   
    18 Umask    022
    19  RootLogin   off 禁止root登录ftp 
    26 MaxInstances   30
    27  SystemLog   /var/log/proftp.log
产生独立的日志文件
    28 TransferLog   /var/log/proftp.log 
记录用户下载的日志信息

#####如果想指定自己的日志格式可以结合(ExtendLog,LogFormat)两个选项设置

    29 User    proftp   设置启动用户为proftp 
    30 Group    proftp   设置启动组为proftp 
    34 DefaultRoot /var/ftp     指定共享根目录为/var/ftp
    37 AllowOverwrite   on   
    46 #  该部分全部#注释,取消匿名访问功能
    47 #  User    ftp
    48 #  Group   ftp
    51 #  UserAlias   anonymous ftp    
    54 #  MaxClients   10     
    58 #  DisplayLogin   welcome.msg    
    59 #  DisplayChdir   .message
    62 #          
    63 #    DenyAll
    64 # 

    65 #

   以下内容为设置权限,为手动添加内 
所有用户可以看到所有部门的文件夹,仅可以访问自己部门的目录
*****************************************************************************************************
    67  RequireValidShell off 用户登录是否需要shell(对虚拟用户很重要)
    68  AuthUserFile /usr/local/proftpd/ftpd.passwd  
通过文件认证用户登录,需要ftpasswd命令创建该文件
    69
    70   允许所有人可以查看根目录
    71  AllowAll
    72

    73

    74
    75
    76  DenyAll   拒绝所有人往该目录下执行Limit后的操作指令
    77

    78
    79  DenyAll   禁止任何人在该目录下删除文件
    80

    81
    82  AllowUser yunwei 仅允许yunwei用户可以执行Limit后的所有指令
    83

    84

    85
    86
    87  DenyAll
    88

    89
    90  DenyAll
    91

    92
    93  AllowUser kaifa
    94

    95

    96
    97
    98  DenyAll
    99

   100
   101  DenyAll
   102

   103
   104  AllowUser xingzheng
   105

   106

   107
   108
   109  DenyAll
   110

   111
   112  DenyAll
   113

   114
   115  AllowUser xiaoshou
   116

   117

******************************************************************************************************

5.创建虚机帐号

ftpasswd命令格式说明
(该命令可以创建用户文件、组文件,默认创建的用户文件为ftpd.passwd):
--passwd  创建密码文件,即AuthUserFile指定的文件
--group   创建组文件
--name   指定创建的用户名
--uid   指定用户虚拟UID
--gid     指定虚拟GID
--home   指定用户家目录
--shell   指定用户Shell
--file   指定创建的文件名

#ftpasswd  --passwd  --name=yunwei  --uid=1000  --home=/home/nohome  --shell=/bin/false

6.启动FTP服务:

#/usr/local/proftpd/sbin/proftpd

成功验证!!!!
这里仅以用户为实验环境,需要实现组功能的情况可以自行探索...


推荐阅读
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
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社区 版权所有