计算机软考网络管理:设置服务器的访问控制

来源:微学计算机考试频道发布时间:2008-08-25
使用此节描述的指令来控制访问服务器的资源。
  你按照用于访问那些文件的请求来把保护设置与文件组进行链接。使用DefProt 和Protect指令来定义你想要保护的请求。
  可在单独的保护文件或直接在配置文件中定义实际的保护设置。在配置文件内定义, 可用Protection指令来定义和命名(标签)一个保护设置。也可直接在DefProt或Protect指令中定义一个保护设置。
  本节还描述了定义一个保护设置的子指令。
  参看"保护服务器"中关于保护服务器资源的每一步的指示。
  DefProt - 指定匹配一个模板的请求的缺省保护设置
  使用该指令来把缺省保护设置和匹配模板的请求联系起来。 注意: 要使保护正确工作, 配置文件中在任何Pass或Exec 指令之前必须放置DefProt和Protect指令。
  该指令的格式为: DefProt request-template
  setup [FOR Server-IP-address
  或 hostname]
  注意: 指令必须在一行内输入,尽管这里显示的是两行。
  request-template
  你想要与缺省保护设置联系的请求模板。服务器对进入的客户请求和模板进行比较,在找到一个匹配的模板时与一个保护设置联系起来。
  保护对于匹配模板的请求实际上没有被激活,除非请求也与后面的Protect指令中的模板相匹配。参看有关Protect指令的描述,以了解与DefProt一起使用的方法。
  setup
  你想要把它与匹配请求模板的请求联系起来的缺省保护设置。保护设置用保护子指令定义。参看"保护子指令"中关于保护子指令的描述。该参数可用以下三种形式之一:
  标识包含保护子指令的单独文件的全路径与文件名。
  与前面在Protection指令中定义的名称匹配的保护设置标签名。Protection指令包含保护子指令。
  实际的保护子指令。子指令必须用花括号 {}括起来。左花括号字符必须是在与DefProt指令同一行中的最后一个字符。每个子指令有单独的一行。右花括号字符必须在跟在最后一个子指令行后面的单独一行中。在花括号之间不能放置注解行。
  FOR Server-IP-address 或 hostname
  如果使用多IP 地址或虚拟主机,请使用此参数指定IP 地址或主机名。(要了解使用多IP 地址或虚拟主机的更多信息,参看"运行拥有多个IP地址的服务器或虚拟主机"。) 服务器只对发送服务器此 IP 地址或此虚拟主机的请求使用指令。对于一IP地址, 这是服务器网络连接的地址,而不是正在请求的客户的地址。
  可指定一个IP地址(例如, FOR 204.146.167.72) 或指定一个主机名(例如, FOR hostA.bcd.com)。
  该参数是可选的。如果没有此参数,服务器对全部请求使用此指令,而不管进入的请求的IP地址或URL中的主机名是什么。
  记录:
  要使用该参数, 设置参数的形式必须是一个路径与文件名称或一个保护设置标签。设置参数不能使用在花括号之内的子指令。
  要使用该参数,必须在设置参数和 IP地址或主机名 之间放置FOR或某些其他字符串 (不含空格)。
  通配符不能用于指定服务器的IP 地址。 例:
  DefProt /secret/* d:\server\protect\setup1.acc
  上例标识包含保护子指令的一个单独文件。
  DefProt /secret/* SECRET-PROT
  上例用一个标签名来指向保护子指令。标签名必须与Protection指令中的标签名匹配。 Protection指令必须出现在DefProt指令之前。 DefProt {
  AuthType Basic
  ServerID restricted
  PasswdFile d:\docs\WWW\restrict.pwd
  GroupFile d:\docs\WWW\restrict.grp
  GetMask authors
  PutMask authors
  }
  上例包含作为DefProt指令一部分的保护子指令。
  DefProt /secret/* CustomerA-PROT 9.67.106.79
  DefProt /secret/* CustomerB-PROT 9.83.100.45
  上例使用可选的IP地址参数。如果你的服务器收到由 /secret/开头的请求, 则按照请求进入的网络连接的IP地址来把各种缺省保护设置与请求联系起来。对于在9.67.106.79中进入的请求, 服务器把请求与定义在带CustomerA-PROT标签的Protection指令中的缺省保护联系起来。对于在9.83.100.45进入的请求, 服务器把请求与定义在带CustomerB-PROT标签的Protection指令中的缺省保护联系起来。
  DefProt /secret/* CustomerA-PROT hostA.bcd.com
  DefProt /secret/* CustomerB-PROT hostB.bcd.com
  上例使用可选的主机名参数。如果服务器收到由 /secret/开头的请求, 则按照URL中的主机名把各种缺省保护设置与请求联系起来。对于进入hostA的请求, 服务器把请求与定义在带CustomerA-PROT标签的Protection指令中的缺省保护联系起来。对于进入hostB的请求, 服务器把请求与定义在带CustomerB-PROT标签的Protection指令中的缺省保护联系起来。
  程序缺省设置无。
  初始配置文件设置无。
  Protect - 激活匹配一个模板的请求的保护设置
  使用该指令来激活匹配一个模板的请求的保护设置规则 Attention: 要使保护正确工作, 配置文件中在任何Pass或Exec 指令之前必须放置DefProt和Protect指令。
  该指令的格式对于两种情况是不同的:你想要指向一个包含保护子指令的标签或文件;你想要包含保护子指令作为Protect指令的一部分。
  在你想要指向一个包含保护子指令的标签或文件时,它的格式如下: Protect request-template [setup-file/label[FOR Server-IP-address or hostname ]]
  注意: 指令必须在一行内输入,尽管这里显示的是两行。
  在你想要包含保护子指令作为Protect指令的一部分时,它的格式如下:
  Protect 请求模板 [服务器IP地址或主机名] {
  子指令值
  子指令值
  .
  . .
  }
  request-template
  你想要激活保护值的请求模板。服务器对进入的客户请求和模板进行比较,在找到一个匹配的模板时激活保护。
  setup-file/label
  在指向一个包含保护子指令的标签或文件时,使用该参数来标识你想要激活的匹配请求模板的请求的保护设置。
  该参数是可选的。如果该参数省略, 则使用由最近的包含匹配模板的DefPort指令定义的保护设置。
  保护设置用保护子指令定义。参看"保护子指令"中关于保护子指令的描述。如果有该参数, 则其可用以下三种形式之一:
  标识包含保护子指令的单独文件的全路径与文件名。
  与前面在Protection指令中定义的名称匹配的保护设置标签名。Protection指令包含保护子指令。
  实际的保护子指令。子指令必须用花括号 {}括起来。左花括号字符必须是在与DefProt指令同一行中的最后一个字符。每个子指令有单独的一行。右花括号字符必须在跟在最后一个子指令行后面的单独一行中。在花括号之间不能放置注解行。
  子指令值
  在你想要包含保护子指令作为Protect指令的一部分时,使用该参数。左花括号字符必须是在与Protect指令同一行中的最后一个字符。每个子指令有单独的一行。右花括号字符必须在跟在最后一个子指令行后面的单独一行中。在花括号之间不能放置注解行。
  参看"保护子指令"中关于保护子指令的描述。
  FOR Server-IP-address or hostname
  如果使用多IP 地址或虚拟主机,请使用此参数指定IP 地址或主机名。(要了解使用多IP 地址或虚拟主机的更多信息,参看"运行拥有多个IP地址的服务器或虚拟主机"。) 服务器只对发送服务器此 IP 地址或此虚拟主机的请求使用指令。对于一IP地址, 这是服务器网络连接的地址,而不是正在请求的客户的地址。
  可指定一个IP地址(例如, FOR 204.146.167.72) 或指定一个主机名(例如, FOR hostA.bcd.com)。
  该参数是可选的。如果没有此参数,服务器对全部请求使用此指令,而不管进入的请求的IP地址或URL中的主机名是什么。
  记录:
  要使用该参数, 必须同时使用设置文件/标签参数或子指令 值参数。
  要与设置文件/标签参数同用该参数, 必须在设置文件/标签参数和 IP地址 或 主机名参数之间放置 FOR或某些其他字符串 (不含空格)。 要与子指令 值参数同用该参数, 不要在IP地址或主机名之前放置 FOR。
  通配符不再能够用于指定服务器的IP 地址。
  例: Protection BUS-PROT {
  AuthType Basic
  ServerID restricted
  PasswdFile d:\docs\WWW\restrict.pwd
  GroupFile d:\docs\WWW\restrict.grp
  GetMask authors
  PutMask authors
  }
  DefProt /secret/* d:\server\protect\setup1.acc
  Protect /secret/scoop/*
  Protect /secret/business/* BUS-PROT
  Protect /topsecret/* {
  AuthType Basic
  ServerID restricted
  PasswdFile d:\docs\WWW\restrict.pwd
  GroupFile d:\docs\WWW\restrict.grp
  GetMask topbrass
  PutMask topbrass
  }
  Pass /secret/scoop/* d:\WWW\restricted\*
  Pa