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

ProFTPd服务器的安装配置过程

一实验环境RedHatEnterpriseLinux5.3二.实验目的配置proftp虚拟用户,为不同的虚拟用户分配不同的权限三.所需软件proftpd-1.3.0.tar.bz2四.用户权限以四个用户为例260804162:上传260804163:下载实验步骤1、检查安装proftpd:#tar
一 实验环境 

Red Hat Enterprise Linux 5.3

二 .实验目的

 配置 proftp 虚拟用户,为不同的虚拟用户分配不同的权限

三 .所需软件

 proftpd-1.3.0.tar.bz2

四 . 用户权限

以四个用户为例

260804162: 上传

260804163: 下载

实验步骤
1 、检查安装 proftpd:

 #tar ?jxvf proftpd-1.3.0.tar.bz2

 #cd proftpd-1.3.0

#./configure --prefix=/proftpd                 //--prefix 为安装路径 , 其他参数可参考 ”./configure --help”

 #make

#make install

2. 修改配置文件 , 在 /proftpd/etc/proftpd.conf 中加入

 

DenyAll

AllowUser 260804162

   

  

DenyAll

AllowUser 260804163

 

 RequireValidShell off

 AuthOrder mod_auth_file.c

 AuthUserFile /proftpd/ passwd

 AuthGroupFile /proftpd/group

// 参数说明 :

      ----------------- à 1 、继承性

             ------------------------- à 2 、优先级

          AllowUser  u1          -------------------- à 3 、访问控制的应用顺序

          DenyAll

     

 

AuthOrder                       mod_auth_pam.c* mod_auth_file.c           // 启用认证方式

AuthUserFile                    /etc/proftpd/ftpd.passwd                      //ftp 用户密码文件

AuthGroupFile                /etc/proftpd/ftpd.group                                     //ftp 用户组文件

其中, Directory 指定用户的文件夹 , Limit 分配了用户对文件夹的权限 ,AuthOrder 指定了权限检查的顺序。这里只使用虚拟用户。 AuthUserFile 和 AuthGroupFile 的文件格式看 passwd(5) 和 group(5) 。如果用户名和组名与系统的重复,看 DirFakeUser 和 DirFakeGroup 。

3. 使用 ftpasswd 创建 passwd 和 group 文件 (/proftpd-1.3.0/contrib/ftpasswd)

 # ftpasswd --passwd --file= /proftpd/passwd --name=260804162 --uid=2001

 --home=/ftproot --shell=/bin/false

 # ftpasswd --passwd --file= /proftpd/passwd --name=260804163 --uid=2002

 --home=/ftproot --shell=/bin/false

 创建了一个 260804162 和 260804163 用户

# ftpasswd --group --name=test --gid=2003

 创建了一个 test 组

# ftpasswd --group --name=test --gid=2003 --member=260804162 --member=260804163

 把 260804162 和 260804163 加入 test 组

注脚 :

 ?passwd 指定建立一个新的虚拟用户, ?group 则建立一个虚拟组;

?file 指定存储虚拟用户的文件;

?name 指定此虚拟用户的用户名,密码会在命令执行时要求输入;

?uid 指定此虚拟用户对应的系统用户 UID ,此虚拟用户将以此系统 UID 的身份读写文件

?home 指定此虚拟用户的根目录,就是其登陆 FTP 后的根目录;

?shell 指定此虚拟用户的 shell ,为了安全当然指定一个不可登陆的 shell 了。

4. 启动

proftpd

 #/proftpd/sbin/proftpd ?c /proftpd/etc/proftpd.conf

5. 常用全局设置:

 DefaultRoot ~ # 限制每个 FTP 用户在自己的目录下,不可查看上一级目录

 AllowRetrieveRestart on # 下载时,允许断点续传

AllowStoreRestart on # 上传时,允许断点续传

ServerIdent off # 屏蔽服务器版本信息

TransferRate STOR   RETR 速度( Kbytes/s ) user 使用者 # 设定用户传输速率

MaxHostsPerUser 1 # 每个帐户最多允许来源 ip 为 1 个 , 对防止 ftp 帐号还是比较有用的。

 MaxClientsPerUser 1 # 每个帐户在每个客户端最多可以同时登陆 1 次 , 可以防止多线程软件下载对服务器的 破坏。

MaxClientsPerHost 1 # 同一个客户端只能最多 1 个帐号可以登陆

 WtmpLog on # 是否要把 ftp 记录在日志中,如果不想可以设置成 off 屏蔽掉 log 日志。

 TimeoutIdle 600 # 客户端 idle 时间设置,默认就是 600 秒

 DisplayLogin welcome.msg # 设置 ftp 登陆欢迎信息文件

 RootLogin on # 允许 root 用户登录,默认是不允许的,安全起见不推荐此选项。

6.proftpd 中的 limit 的参数说明

;

 ...

 ...

 ;

CMD : Change Working Directory 改变目录

MKD : MaKe Directory 建立目录的权限

RNFR : ReName FRom 更改目录名的权限

DELE : DELEte 删除文件的权限

RMD : ReMove Directory 删除目录的权限

RETR : RETRieve 从服务端下载到客户端的权限

STOR : STORe 从客户端上传到服务端的权限

READ :可读的权限,不包括列目录的权限,相当于 RETR , STAT 等

WRITE :写文件或者目录的权限,包括 MKD 和 RMD

 DIRS :是否允许列目录,相当于 LIST , NLST 等权限,还是比较实用的

ALL :所有权限

LOGIN :是否允许登陆的权限

limit 中对用户和群组的控制 , 其实就是 ...

AllowUser 针对某个用户允许的 Limit

 DenyUser 针对某个用户禁止的 Limit

 AllowGroup 针对某个用户组允许的 Limit

 DenyGroup 针对某个用户组禁止的 Limit

 AllowAll 针对所有用户组允许的 Limit

 DenyAll 针对所有用户禁止的 Limit

Deny from 禁止 IP 来源

Deny all 允许 IP 来源

例子:

# 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

# 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    nogroup

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
#启用日志
LogFormat auth "IP:%a Name:%u At:%t UsedTime:%T"
LogFormat readwrite "IP:%a Name:%u byte:%b file:%F At:%t UsedTime:%T"
#以write的日志格式记录read,wreite的日志
ExtendedLog /home/test.log WRITE,READ readwrite
#以auth 的日志格式记录login的日志
ExtendedLog /home/test1.log AUTH auth

# Normally, we want files to be overwriteable.
AllowOverwrite  on

# Bar use of SITE CHMOD by default

  DenyAll

#限制目录及用户组信息

 
 DenyGroup test
 

AuthOrder mod_auth.pam.c* mod_auth_file.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group

# 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
  DisplayFirstChdir  .message

  # Limit WRITE everywhere in the anonymous chroot
 
    DenyAll
 


推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
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社区 版权所有