如何配置pypiserver私有PyPI服务器的分级读写权限?
私有PyPI服务器权限配置方案
核心思路
通过pypiserver的认证参数结合用户权限控制,实现「全员认证+分级权限」的需求:
- 用
-a update,download强制所有操作(上传/下载)必须认证 - 用
-P指定统一的用户密码文件 - 用
--authorized指定拥有读写权限的用户,剩余认证用户默认只读
具体步骤
生成用户密码文件
使用htpasswd工具创建htpasswd.txt(若没有该工具,可通过apache2-utils包安装):- 创建读写权限用户(示例:
admin):htpasswd -c htpasswd.txt admin - 添加只读权限用户(示例:
reader):htpasswd htpasswd.txt reader
- 创建读写权限用户(示例:
启动容器并配置参数
将密码文件和包目录挂载到容器,启动时指定权限参数:docker run -d \ -p 8080:8080 \ -v $(pwd)/packages:/data/packages \ -v $(pwd)/htpasswd.txt:/data/htpasswd.txt \ pypiserver/pypiserver:latest \ -a update,download \ -P /data/htpasswd.txt \ --authorized admin \ packages
权限验证
- 用
admin账号可执行包上传(如twine upload)和下载操作 - 用
reader账号仅能下载包,上传操作会被拒绝
内容的提问来源于stack exchange,提问作者Shuri2060
相关产品推荐
相关产品推荐

