Apache. Документация на русском


Разделы:   1    2    3    4    5    6    7    8    9      10      11    12    13    14    15    16  

Раздел 10. Модули Апача

Пункты:   85    86    88    89    90    91    92    93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115      116      117    118    119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138    139    140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    163    164    165    166    167    168    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    203    204    205    206    207    208    209    210    211    212    213  

 <         > 
  RU            EN  

Пункт 116. Модуль Apache mod_authz_owner

Этот модуль разрешает доступ к файлам путем сравнения идентификатора пользователя, используемого для аутентификации HTTP (идентификатор веб-пользователя), с владельцем файловой системы или группой запрошенного файла. Предоставленные имя пользователя и пароль должны быть уже должным образом проверены модулем проверки подлинности, таким как mod_auth_basic или mod_auth_digest . mod_authz_owner распознает два аргумента для Require директивы file-owner и file-group , как показано ниже:

file-owner
Предоставленное веб-имя пользователя должно совпадать с системным именем владельца запрашиваемого файла. То есть, если операционная система говорит, что запрошенный файл принадлежит jones , то имя пользователя, используемое для доступа к нему через Интернет, jones также должно быть таким же.
file-group
Имя системной группы, которой принадлежит файл, должно присутствовать в базе данных группы, которая предоставляется, например, с помощью mod_authz_groupfile или mod_authz_dbm , а веб-имя пользователя должно быть членом этой группы. Например, если операционная система сообщает, что запрошенный файл принадлежит (системной) группе accounts , эта группа accounts должна появиться в базе данных группы, а имя веб-пользователя, используемое в запросе, должно быть членом этой группы.

Примечание

Если mod_authz_owner используется для авторизации ресурса, которого фактически нет в файловой системе ( т. е. виртуального ресурса), доступ будет запрещен.

В частности, он никогда не будет авторизовывать контент, согласованный с ресурсами «MultiViews».

Примеры конфигурации

Требовать владельца файла

Рассмотрим многопользовательскую систему с веб-сервером Apache, где у каждого пользователя есть свои файлы в формате ~/public_html/private . Если предположить, что существует единая AuthDBMUserFile база данных, в которой перечислены все их веб-имена пользователей, и что эти имена пользователей совпадают с системными именами пользователей, которые фактически владеют файлами на сервере, то следующая строфа разрешает только самому пользователю доступ к его собственным файлам. Пользователю jones не будет разрешен доступ к файлам, /home/smith/public_html/private если они не принадлежат, jones а не smith .

 <Каталог "/home/*/public_html/private">
 Основной тип авторизации
 AuthName MyPrivateFiles
 База данных AuthBasicProvider
 AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
 Требовать владельца файла
</Каталог> 

Требовать файловую группу

Рассмотрим систему, аналогичную описанной выше, но с некоторыми пользователями, которые совместно используют файлы своих проектов в формате ~/public_html/project-foo . Файлы принадлежат системной группе foo , и существует единая AuthDBMGroupFile база данных, содержащая все имена веб-пользователей и их членство в группах, т. е. они должны быть как минимум членами группы с именем foo . Таким образом, если jones и smith оба являются членами группы foo , то оба будут иметь доступ к project-foo каталогам друг друга.

 <Каталог "/home/*/public_html/project-foo">
 Основной тип авторизации
 AuthName "Файлы проекта Foo"
 База данных AuthBasicProvider
 
 # комбинированная база данных пользователей/групп
 AuthDBMUserFile "/usr/local/apache2/etc/.htdbm-all"
 AuthDBMGroupFile "/usr/local/apache2/etc/.htdbm-all"
 
 Удовлетворить все
 Требовать файловую группу
</Каталог> 


 <         > 

Пункты:   85    86    88    89    90    91    92    93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115      116      117    118    119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138    139    140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    163    164    165    166    167    168    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    203    204    205    206    207    208    209    210    211    212    213  

Рейтинг@Mail.ru