Разделение доступа в 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 шт):
Оказалось, что фраза
but user/password pairs can later be added or updated on the fly
все лишь о том, что в файл htpasswd.txt можно добавить строчек с пользователями и делать это можно не перегружая сервер, так как pypiserver следит за меткой времени этого файла.
А вот разделить вид доступа нельзя. По меньшей мере в варианте с htpasswd.
Нет никакой связи метод + пользователь.
При запросе сервер проверяет не упомянута ли вызываемая функция api в списке из параметра -a. И, если да, то просто ищет пару логин пароль в htpasswd.txt.
А значит либо править функцию авторизации, либо поставить впереди что-то вроде nginx и сделать защиту индекса пакетов в нем.