• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mod_authz_owner

    描述:基于文件所有权的授权
    状态:延期
    模块标识符:authz_owner_module
    源文件:mod_authz_owner.c
    兼容性:可在 Apache 2.1 及更高版本中使用

    摘要

    此模块通过将用于 HTTP 身份验证的用户标识(web 用户标识)与所请求文件的 file-system 所有者或 group 进行比较来授权访问 files。提供的用户名和密码必须已由身份验证模块正确验证,例如mod_auth_basic或mod_auth_digest。mod_authz_owner识别要求指令的两个 arguments,file-ownerfile-group,如下所示:

    • file-owner
      提供的 web-username 必须匹配所请求文件的所有者的系统 name。也就是说,如果操作系统说请求的文件由 jones 拥有,那么用于通过 web 访问它的用户名也必须是 jones。
    • file-group
      拥有该文件的系统 group 的 name 必须存在于 group 数据库中,例如,由 mod_authz_groupfile 或 mod_authz_dbm 提供,web-username 必须是该 group 的成员。例如,如果操作系统说所请求的文件归(系统)group 帐户所有,则 group 帐户必须出现在 group 数据库中,并且请求中使用的 web-username 必须是该 group 的成员。

    注意

    如果在 order 中使用mod_authz_owner来授权文件系统中实际不存在的资源(i.e.虚拟资源),则它将拒绝访问。

    特别是它永远不会授权内容协商“MultiViews”资源。

    Configuration 示例

    要求 file-owner

    考虑系统运行 Apache Web 服务器,每个用户在~/public_html/private中拥有自己的 files。假设有一个AuthDBMUserFile数据库列出所有 web-usernames,并且这些用户名匹配系统的实际拥有服务器上 files 的用户名,那么下面的节只允许用户自己访问他自己的 files。不允许用户jones访问/home/smith/public_html/private中的 files,除非它们由jones而不是smith拥有。

    <Directory "/home/*/public_html/private">
        AuthType Basic
        AuthName MyPrivateFiles
        AuthBasicProvider dbm
        AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
        Require file-owner
    </Directory>
    

    要求 file-group

    考虑一个类似于上述系统的系统,但有些用户在~/public_html/project-foo中共享他们的项目 files。 files 归系统 group foo所有,并且只有一个AuthDBMGroupFile数据库包含所有 web-usernames 及其 group 成员资格 i.e。它们必须至少是名为foo的 group 的成员。因此,如果jonessmith都是 group foo的成员,那么两者都将被授权访问彼此的project-foo目录。

    <Directory "/home/*/public_html/project-foo">
        AuthType Basic
        AuthName "Project Foo Files"
        AuthBasicProvider dbm
        
        # combined user/group database
        AuthDBMUserFile  "/usr/local/apache2/etc/.htdbm-all"
        AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all"
        
        Satisfy All
        Require file-group
    </Directory>
    

    上篇:mod_authz_host

    下篇:mod_authz_user