ProFTPD中权限的设置
创始人
2024-07-22 06:11:16
0

  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服务器

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...