Настройка 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