热门标签 | 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
 


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
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社区 版权所有