Proftpd权限的设置原理(1)


ProFTPD是继Wu-FTP之后最为流行的FTP服务器软件。Proftpd的权限都需要设置才能稳定运行,本文给大家介绍下他的原理!

一、测试平台

Debian 4.0r3

Proftpd 1.3.1 (WITH SSL)

二、原理简介

1、 继承性

子目录会继承其父目录的属性。

2、 优先级

优先级由大到小的顺序:

原始FTP命令(LIST DELE等) > 命令组(DIRS READ WRITE) > ALL命令组

3、 访问控制的应用顺序

不论出现顺序如何,先应用拒绝(Deny),后应用允许(Allow)

4、系统权限

Linux系统权限仍然起作用。如果设置了目录test的 允许写,但是该用户对test目录只有

读权限,这是该用户就不能向test目录写入。

----------------- 1、继承性

------------------------- 2、优先级

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

DenyAll

一点解释:根据参考1所述,访问控制的顺序应该是与其出现顺序有关,但是在我的测试中发现出现顺序没有什么影响。也就是说,像上面的访问控制,AllowUser u1和DenyAll哪个在前面都一样。

三、实例

1、简介

假设proftpd服务器上有5个用户:

manager, manA1, manA2, manB1, manB2

和2个组:

groupA, groupB

manA1和manA2属于groupA组,manB1和manB2属于groupB组。

并且有如下目录结构:

  1. /根目录  
  2.  
  3. │  
  4.  
  5. ├ftproot/  
  6.  
  7. │ ├manager/  
  8.  
  9. │ │  
  10.  
  11. │ ├groupA/  
  12.  
  13. │ │ ├A1/  
  14.  
  15. │ │ ├A2/  
  16.  
  17. │ │ └.../  
  18.  
  19. │ │  
  20.  
  21. │ ├groupB/  
  22.  
  23. │ ├B1/  
  24.  
  25. │ ├B2/  
  26.  
  27. │ └.../  
  28.  
  29. │  
  30.  
  31. └.../  

现在要实现的权限:

1、用户manager可以读写manager、groupA、groupB目录及它们的的子目录。

2、manA1可以读写A1目录,并且可以读写groupB的所有子目录。

3、manA2可以读写A2目录,并且可以读写groupB的所有子目录。

4、manB1可以读写B1目录。

5、manB2可以读写B2目录。

6、如果一个用户没有某个目录的访问权限,那么该用户就不能看到此目录。

7、只允许manger用户和groupA、groupB组成员访问FTP服务器。

8、不允许任何人破坏主干目录结构

2、实现

(1)添加用户和组

useradd manager

passwd manager

groupadd groupA

groupadd groupB

useradd manA1

passwd manA1

usermod -G groupA manA1

useradd manA2

passwd manA2

usermod -G groupA manA2

useradd manB1

passwd manB1

usermod -G groupB manB1

useradd manB2

passwd manB2

usermod -G groupB manB2


相关内容