Настройка Apache Password Protection

У меня есть некоторые трудности с настройкой защиты паролем в Apache

В.htaccess у меня есть

AuthUserFile /var/www/vhosts/domain.net/httpdocs/.htpasswd
AuthGroupFile /dev/null
AuthName "Test Server"
AuthType Basic

require user testuser

Тогда в.htpasswd у меня есть что-то вроде

testuser:encrypted password

Проблема сейчас в том, что я забыл, какой генератор.htpasswd я использовал. Когда я пытаюсь добавить нового пользователя и пароль, он не работает. например. когда я положил require user newuser это всегда терпит неудачу (подсказка продолжает появляться). Затем, когда я вернусь к testuser оно работает

Как я могу настроить так, чтобы у меня был 1 или несколько "администраторов", которые могут получить доступ ко всему, и зрители, которые могут просматривать только определенные папки... например

/               - only admins
    /folder1    - only admins or folder1's users
    /folder2    - only admins or folder2's users

И что мне делать, чтобы не показывать список каталогов

2 ответа

require user Директива позволяет только одному пользователю получить доступ к конкретному ресурсу. Чтобы разрешить несколько пользователей, вы должны настроить AuthGroupFile и использовать Require group директива, разрешающая доступ к ресурсу. Документация apache находится здесь

/folder1/.htaccess

AuthUserFile /var/www/vhosts/domain.net/httpdocs/.htpasswd
AuthGroupFile /var/www/vhosts/domain.net/httpdocs/.GroupFile
AuthName "Test Group1"
AuthType Basic

require group Group1

/folder2/.htaccess

AuthUserFile /var/www/vhosts/domain.net/httpdocs/.htpasswd
AuthGroupFile /var/www/vhosts/domain.net/httpdocs/.GroupFile
AuthName "Test Group2"
AuthType Basic

require group Group2

и т.п.

Если вы хотите указать несколько групп, то

require group Group1 Group2 ...

и в групповом файле

Group1: testuser admin1 admin2
Group2: testuser1 admin1 admin2

.htaccess в корне:

AuthUserFile /var/.htpasswd
AuthName "Test Server"
AuthType Basic
require user admin
Options -Indexes

.htaccess в folder1:

AuthUserFile /var/.htpasswd
AuthName "Test Server"
AuthType Basic
require user admin folder1

.htaccess в папке 2:

AuthUserFile /var/.htpasswd
AuthName "Test Server"
AuthType Basic
require user admin folder2
Другие вопросы по тегам