源码安装Proftpd与配置虚拟用户

运维 系统运维
Proftpd安装手册:ProFTPD目标是实现一个安全且易于设定的FTP Server,Proftpd不仅针对Wu-Ftp改进了许多问题,而且还有许多新的功能。那么Proftpd的配置文件是怎样的呢?本文将一一简述。Proftpd的全面配置文件:

  源码安装Proftpd, 并配置虚拟用户:ProFTPD设计目标是实现一个安全且易于设定的FTP Server。目前Unix或类Unix平台上 FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。虽然wu-ftpd有着极佳的效能同时也是一套很好的软件,然而它却欠缺了许多Win32平台上FTP Server的一些特色,同时wu-ftpd过去也有不少的安全漏洞陆续被发现。ProFTPD的原创者本身就曾经花非常多的时间寻找wu-ftpd 的漏洞加以改进并且增加许多功能。然而十分不幸的是,他很快地发现显然wu-ftpd需要全部重新的改写才能补足欠缺的设定能力以及缺乏的一些功能。ProFTPD不是从其它FTP Server的既有原始码修改而产生的,相反的,它是完全独立而完整、重新改写的FTP Server。

  一 . 实验环境 : Red Hat Enterprise Linux 5.3

  二 . 实验目的 : 配置 proftp 虚拟用户,为不同的虚拟用户分配不同的权限

  三 . 所需软件 : proftpd-1.3.0.tar.bz2

  四 . 用户权限 : 以四个用户为例

  260804162: 上传

  260804163: 下载

  实验步骤 :

  1 、检查安装 proftpd:

  1.   #tar –jxvf proftpd-1.3.0.tar.bz2  
  2.  
  3.   #cd proftpd-1.3.0  
  4.  
  5.   #./configure --prefix=/proftpd //--prefix 为安装路径 , 其他参数可参考 ”./configure --help”  
  6.  
  7.   #make  
  8.  
  9.   #make install  
  10.  

#p#

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

  1.   DenyAll  
  2.  
  3.   AllowUser 260804162    
  4.  
  5.   DenyAll  
  6.  
  7.   AllowUser 260804163    
  8.  
  9.   RequireValidShell off  
  10.  
  11.   AuthOrder mod_auth_file.c  
  12.  
  13.   AuthUserFile /proftpd/ passwd  
  14.  
  15.   AuthGroupFile /proftpd/group 
  16.  
  17.   // 参数说明 :  
  18.  
  19.    ----------------- à 1 、继承性  
  20.  
  21.    ------------------------- à 2 、优先级  
  22.  
  23.   AllowUser u1 -------------------- à 3 、访问控制的应用顺序  
  24.   DenyAll    
  25.  
  26.   AuthOrder mod_auth_pam.c* mod_auth_file.c // 启用认证方式  
  27.  
  28.   AuthUserFile /etc/proftpd/ftpd.passwd //ftp 用户密码文件  
  29.  
  30.   AuthGroupFile /etc/proftpd/ftpd.group //ftp 用户组文件  
  31.  

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

#p#

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

  1.   # ftpasswd --passwd --file= /proftpd/passwd --name=260804162 --uid=2001 
  2.  
  3.   --home=/ftproot --shell=/bin/false  
  4.  
  5.   # ftpasswd --passwd --file= /proftpd/passwd --name=260804163 --uid=2002 
  6.  
  7.   --home=/ftproot --shell=/bin/false  
  8.  
  9.   创建了一个 260804162 和 260804163 用户  
  10.  
  11.   # ftpasswd --group --name=test --gid=2003 
  12.  
  13.   创建了一个 test 组  
  14.  
  15.   # ftpasswd --group --name=test --gid=2003 --member=260804162 --member=260804163 
  16.  

  把 260804162 和 260804163 加入 test 组

  注脚 :

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

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

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

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

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

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

#p#

  4. 启动 proftpd

  1.   #/proftpd/sbin/proftpd –c /proftpd/etc/proftpd.conf  
  2.  

  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 用户登录,默认是不允许的,安全起见不推荐此选项。

#p#

  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 :是否允许登陆的权限

  ============================================================

#p#

  7.limit 中对用户和群组的控制

  AllowUser 针对某个用户允许的 Limit

  DenyUser 针对某个用户禁止的 Limit

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

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

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

  DenyAll 针对所有用户禁止的 Limit

  Deny from 禁止 IP 来源

  Deny all 允许 IP 来源

【编辑推荐】

  1. ProFTPD.conf的详细配置方法
  2. Proftpd配置文件结构分析
  3. ProFTP下的参数说明
  4. Porftpd.conf的配置格式
  5. lampp的ProFTPd下新增FTP用户的方法
  6. Debian下配置ProFTPd服务器
  7. Centos下ProFTPD配置FTP服务器

 

责任编辑:zhaolei 来源: CSDN
相关推荐

2011-02-24 14:47:48

ProFTPD

2011-02-25 10:10:41

Proftpd

2011-02-23 10:43:17

2011-02-23 10:54:11

Debianproftpdmysql

2011-03-08 10:10:37

Linuxproftpd

2010-02-04 13:43:26

Linux vsFTP

2011-03-08 11:28:15

proftpd

2011-02-25 10:03:06

Proftpd

2011-02-25 10:19:54

Proftpd

2011-03-02 17:49:20

Proftpd安装

2010-03-29 14:48:58

CentOS系统

2011-03-08 16:30:30

Proftpd命令Proftpd配置

2011-02-23 11:15:21

DebianProFTPd

2011-02-22 10:08:46

ProFTPD配置

2011-02-24 13:15:59

2011-03-03 13:00:21

2015-09-22 13:57:29

vsftp虚拟用户CentOS

2011-03-03 13:07:13

安装Proftpd

2011-02-22 09:50:01

2011-02-25 09:44:51

怎样安装Proftpd
点赞
收藏

51CTO技术栈公众号