首页 运维 正文
ProFTPD中权限的设置

 2022-10-23    279  

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

  1、Allow

ProFTPD中权限的设置

  Allow指令位于

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

  Orderallow,deny 

  Allowfrom192.168.1.96,trusted-domain.com 

  Denyfromall  

  这个例子的意思就是只允许主机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)指定某个目录只能由管理员删除,其他用户只能上传下载  

  AllowUserftpadm 

  DenyAll  

 

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

  DenyAll   

  Orderallow,deny 

  Allowfrom192.168.1.93 

  Denyfromall   

  Orderallow,deny 

  Allowfrom192.168.1.96 

  Allowfrom192.168.1.93 

  Denyfromall   

  这里实现了主机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)只允许匿名用户登录 

  DenyAll   

  AllowAll   

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

  enyUser foo 

  6、总结

  ***总结一下:

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

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

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

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

  系统权限 :Linux系统权限仍然起作用。如果设置了目录test的

允许写,但是该用户对test目录只有读权限,这是该用户就不能向test目录写入。

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

原文链接:https://77isp.com/post/8638.html

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

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。