Назад | Перейти на главную страницу

Настройка защиты паролем Apache

У меня проблемы с настройкой парольной защиты в 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

Также что мне делать, чтобы не отображать список каталогов

В 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 ...

и в GroupFile

Group1: testuser admin1 admin2
Group2: testuser1 admin1 admin2

.htaccess в корне:

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

.htaccess в папке1:

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