Как ограничить доступ к каталогам сайта
Самый простой способ это сделать - использовать встроенную авторизацию
веб-сервера Apache. Для этого используется файл .htaccess c соответствующими
директивами для Apache. В самом простом случае директивы должны быть такими:
AuthUserFile /полный_путь_к_файлу/.htpasswd
AuthGroupFile /dev/null
AuthName подсказка
AuthType Basic
require valid-user
Директива AuthUserFile задает путь к файлу, содержащему имена и пароли
пользователей. Он может иметь практически любое имя и располагаться в любом
каталоге, главное - чтобы веб-сервер мог его прочитать, что требует
установки соответствующих прав доступа к этому файлу (на нашем сервере -
644). Однако традиционно такие файлы называют .htpasswd
При таком наборе директив доступ к каталогу получат все пользователи,
перечисленные в .htpasswd. Чтобы дать доступ только некоторым из них, вместо
require valid-user нужно в .htaccess записать директиву require user
список_имен_пользователей
где список_имен_пользователей имеет вид: имя_пользователя1
имя_пользователя2 имя_пользователя3...
Как создать файл .htpasswd
Хотя .htpasswd - это обычный текстовой файл, для работы с ним есть
специальная утилита - ее вариант для Unix называется htpasswd
Команда htpasswd -c .htpasswd имя_пользователя
создаст новый файл .htpasswd, запросит пароль для пользователя и создаст
запись о пользователе с указанными именем и паролем в этом файле.
Как добавить или изменить запись о пользователе в .htpasswd
Команда htpasswd имя_файла имя_пользователя
запросит пароль для пользователя и создаст запись о пользователе с
указанными именем и паролем в указаном файле или изменит пароль пользователя
в уже существующей записи.
Как удалить запись о пользователе из .htpasswd
Для этого достаточно открыть .htpasswd обычным текстовым редактором, найти
и удалить строчку, начинающуюся с имя_пользователя:





