Я новичок в веб-сервере Apache, и я не могу понять, как ограничить определенные папки / файлы членами разных групп. Например:
userA is a member of groupA and not a member of groupB
userB is a member of groupB and not a member of groupA
Я создал их учетные записи, добавил их в свои группы и добавил записи их паролей (используя вывод команды openssl passwd) в файл /etc/nginx/.htpasswd.
У меня есть следующая структура каталогов в /var/www/testsite.company.com:
drwxr--r-- 2 root groupA 4096 Sep 25 17:42 GroupAFolder/
drwxr--r-- 2 root groupB 4096 Sep 25 12:04 GroupBFolder/
В /var/www/testsite.company.com/GroupAFolder у меня есть:
-rwxr--r-- 1 root groupA 235 Sep 25 17:42 index.html (contains a link to groupAfile.exe so the user can download it)
-rwxr--r-- 1 root groupA 235 Sep 25 17:42 groupAfile.exe
В /var/www/testsite.company.com/GroupBFolder у меня есть:
-rwxr--r-- 1 root groupB 235 Sep 25 17:42 index.html (contains a link to groupBfile.exe so the user can download it)
-rwxr--r-- 1 root groupB 235 Sep 25 17:42 groupBfile.exe
Файл /etc/nginx/sites-enabled/testsite.company.com.conf имеет:
server {
listen 444 ssl http2;
listen [::]:444 ssl http2;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
server_name testsite.company.com;
root /var/www/testsite.company.com;
index index.html;
location / {
try_files $uri $uri/ = 404;
auth_basic "Password Required";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
Я могу войти в https://testsite.company.com:444/GroupAFolder/ как userA и увидеть веб-страницу index.html, и я могу нажать на группу groupAfile .exe ссылка и скачать файл с разрешениями, указанными выше (rwxr - r--). Но если я уберу доступ для чтения по всему миру для index.html и groupAfile.exe, чтобы ограничить доступ любого пользователя, не входящего в группу A, к веб-странице и исполняемому файлу, мой пользователь A больше не сможет получить к ним доступ. Это тоже странное поведение. Когда я сначала изменяю права доступа на rwxr -----, а затем захожу на https://testsite.company.com:444/GroupAFolder/ как пользователь A, я получаю 403 Запрещено. Но если я обновлю страницу, то смогу увидеть веб-страницу index.html со ссылкой для загрузки файла. Но затем, когда я нажимаю на ссылку, я снова получаю 403 Forbidden для исполняемого файла, и он остается таким же.
1114 Кто-нибудь знает, что я делаю неправильно или пропускаю? Надеюсь, я не сделал это слишком запутанным.