ProFTPD中权限的设置

运维 系统运维
ProFTPD是一款开源、安全的FTP服务器程序,该如何设置ProFTPD中权限?本文将详述ProFTPD中权限的设置。

  ProFTPD权限的设置:本文主要讲的是ProFTPD的访问控制。主要通过 Allow、Deny、Order、Limit四个指令来实现。其中Allow和Deny就是允许或不允许用户或主机进行操作,Order确定规则的运用顺序,即是先运用Allow规则还是Deny规则。Limit就是限制用户或主机能够执行哪些操作,下面就进行详细的说明:

  1、Allow

  Allow指令位于 标记之间,明确的指明哪些用户、主机或网络能够执行Limit指令指定的命令或操作。Allow一般和Order、Deny一起实现精确的访问控制。Allow后面可以使用关键字ALL或NONE来指定所有主机或用户的权限,默认是ALL。如果对单独的用户或主机进行控制,那么必须指定用户名或主机名,出于安全和性能考虑主机名***使用IP地址标识。当然也可以使用掩码来指定一个网段的访问控制权限。下面是一个简单的例子: 

  1.   Order allow,deny  
  2.  
  3.   Allow from 192.168.1.96,trusted-domain.com  
  4.  
  5.   Deny from all   
  6.  

  这个例子的意思就是只允许主机192.168.1.96、trusted-domain.com和10.1.1.网段的主机登录。

  2、Deny

  Deny指令的意思和Allow指令相反,用法相似,这里就不详细说明了。

  3、Order

  Order用来控制访问控制指令的优先权,在上面的例子中,Order allow,deny就表示先运用Allow规则然后再运用Deny规则。

  4、Limit

  在ProFTPD的访问控制中我们用的比较多的应该就是Limit了,Limit也是这四个指令中最复杂的。Limit指令是用来控制命令和行为的,它有三种参数类型:原始FTP命令、FTP命令组和ALL关键字。FTP命令组是多个原始FTP命令组合起来的,可以实现一定功能的命令集合。FTP命令组主要包括DIRS(列出目录)、LOGIN(登录)、READ(可读)、WRITE(可写)。这三种参数是有优先级的:原始FTP命令 > FTP命令组 > ALL关键字。 也就是说,如果Limit指令的参数中既有原始FTP命令也有FTP命令组,那么就只有原始FTP命令起作用而FTP命令组就会被忽视掉。

  Limit指令一般用在标记间。在ProFTPD下子目录会继承父目录的属性,这就意味着用在标记间的Limit指令不仅会控制指定目录的访问权限而且会控制该目录下的所有子目录及文件的访问权限。Limit可以用来限制某个目录下的命令,但是不可以覆盖目录的系统权限。也就是说Linux系统权限仍然起作用。如果设置了目录test的 允许写,但是该用户对test目录只有读权限,这时该用户就不能向test目录写入。

  在 标记块中,除了可以使用Allow、Deny、Order指令外,还可以使用 AllowUser、AllowGroup、AllowAll、AllowClass、DenyUser、DenyGroup、DenyAll和 DenyClass等指令。

  5、实例

  下面就来举几个例子说明上述指令的用法:

  (1)指定某个目录只能由管理员删除,其他用户只能上传下载  

  1.   AllowUser ftpadm  
  2.  
  3.   DenyAll   

 

  (2)指定某台主机对某个目录的访问权限  

  1.   DenyAll    
  2.  
  3.   Order allow,deny  
  4.  
  5.   Allow from 192.168.1.93  
  6.  
  7.   Deny from all    
  8.  
  9.   Order allow,deny  
  10.  
  11.   Allow from 192.168.1.96  
  12.  
  13.   Allow from 192.168.1.93  
  14.  
  15.   Deny from all    
  16.  

  这里实现了主机192.168.1.93对目录/path/to/dir有读写权限,而主机192.168.1.96只有只读权限。在这里需要说明的是,在块中所有的命令默认都是允许的。上面的例子中首先对所有用户关闭WRITE 命令,然后再对指定的主机打开相应的命令。这里注意 下的Allow from 192.168.1.93语句,如果删除这条语句那么主机192.168.1.93在该目录下就不可以下载,也就是说主机192.168.1.93就会没有READ权限。即使你在 里加上READ( )也不行。

  (3)只允许匿名用户登录 

  1.   DenyAll    
  2.  
  3.   AllowAll    
  4.  

  LOGIN命令用来限制登录,该命令对于块是无效的。像下面这种使用方式是无法工作的:  

  enyUser foo 

  6、总结

  ***总结一下:

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

  优先级 :优先级由大到小的顺序:

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

  访问控制的应用顺序 :不论出现顺序如何,先应用拒绝(Deny),后应用允许(Allow)

  系统权限 :Linux系统权限仍然起作用。如果设置了目录test的 允许写,但是该用户对test目录只有读权限,这是该用户就不能向test目录写入。

  默认值 :在块中,默认是允许所有的命令和操作。

【编辑推荐】

  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-25 13:23:19

Proftpd

2011-03-08 16:57:13

proftpd

2011-03-03 15:02:22

proftpd权限

2011-02-25 13:42:45

Proftpd

2011-03-01 15:11:26

DebianProFTPD

2011-03-01 15:11:26

DebianProFTPD

2011-03-08 15:27:42

ProftpdLimit

2011-02-25 16:26:17

2011-02-23 10:11:10

ProFTPd安装

2011-03-08 10:54:25

proftpd.con

2011-03-08 10:45:36

proftpd.con

2011-02-22 14:50:53

ProFTPD

2011-02-24 15:51:14

Proftpd

2011-03-03 13:00:21

2011-02-22 10:08:46

ProFTPD配置

2011-03-02 17:42:09

Proftpd结构

2011-02-24 13:55:42

ProFTPD

2011-02-22 15:50:52

2011-03-02 18:15:09

Proftpd设定

2011-02-25 09:14:27

点赞
收藏

51CTO技术栈公众号