Разделение доступа в pypiserver

Настраиваю приватный PyPi server и никак не могу понять, как там делается разделение доступа.

Если поискать в инете, то можно найти вот такое

./pypi-server -p 8080 -P htpasswd.txt -a update,download,list

где -a это операции для которых пароль.

Но глупо закрывать паролем список и скачивание и тем же паролем закрывать обновление. Должно же быть разделение, чтобы и не публично вовсе и пароль не один.

В доке написано загадочное

You need to restart the server with the -P option only once (but user/password pairs can later be added or updated on the fly):

Но не раскрывается что это значит. Как, куда, на каком лету можно добавить еще паролей и как это разделять?


Ответы (1 шт):

Автор решения: vitidev

Оказалось, что фраза

but user/password pairs can later be added or updated on the fly

все лишь о том, что в файл htpasswd.txt можно добавить строчек с пользователями и делать это можно не перегружая сервер, так как pypiserver следит за меткой времени этого файла.

А вот разделить вид доступа нельзя. По меньшей мере в варианте с htpasswd.

Нет никакой связи метод + пользователь. При запросе сервер проверяет не упомянута ли вызываемая функция api в списке из параметра -a. И, если да, то просто ищет пару логин пароль в htpasswd.txt.

А значит либо править функцию авторизации, либо поставить впереди что-то вроде nginx и сделать защиту индекса пакетов в нем.

→ Ссылка