Сервер NCSA содержит гибкие средства управления доступом. С их
помощью можно централизованно или децентрализованно управлять
доступом, основываясь на структуре адреса WWW - клиента, создавать
пары имя/пароль для документов или целых подразделов, создавать
несколько пар имя/пароль.
Управление доступом с использованием пар имя/пароль
Для введения ограничений на доступ ко всем документам определенного
каталога необходимо создать в этом каталоге файл управления доступом.
Этот файл имеет фиксированное имя, определяемое параметром AccessFileName
файла конфигурации доступа. По умолчанию,
это файл .htaccess.
Пример содержимого файла .htaccess
AuthUserFile /otherdir/.htpasswd
AuthGroupFile /dev/null
AuthName ByPassword
AuthType Basic
<Limit GET>
require user pumpkin
</Limit>
AuthUserFile указывает путь файла паролей, который
должен находиться вне данного каталога.
Limit GET ограничивает доступ по методу GET, предоставляя
его только пользователю pumpkin. Для ограничения других методов
доступа (например, в каталогах
CGI) используется перечисление всех методов:
<Limit GET POST PUT>
require user pumpkin
</Limit>
Для создания файла паролей необходимо воспользоваться утилитой
htpasswd, входящей в состав дистрибутива сервера:
htpasswd -c /otherdir/.htpasswd
pumpkin
После запуска она дважды запросит пароль для пользователя pumpkin
и создаст файл паролей /otherdir/.htpasswd.
Использование нескольких пар имя/пароль
Использование нескольких пар имя/пароль достигается путем описания
группы, в которую входят несколько
пользователей, и указания
имени группы в операторе Limit.
можно достичь, не указывая
ключа -c (create) для htpasswd:
htpasswd /otherdir/.htpasswd
peanuts
htpasswd /otherdir/.htpasswd
almonds
htpasswd /otherdir/.htpasswd
walnuts
например, /otherdir/.htgroup
со следующим содержимым: