我理解涉及安全风险pip
在下安装sudo
,但出于各种原因,我想继续在site-packages
(在 OSX 10.9 上) 安装我的软件包,目前需要sudo
才能pip
工作。
只需授予自己写入权限即可site-packages
避免这些问题吗?这样做会带来新的安全风险吗?或者也许另一种方法是创建一个拥有 的新用户site-packages
,专门用于pip
?
请注意,这不是关于使用 virtualenv 来避免此问题的问题。
答案1
是的,您正面临巨大的安全风险。许多系统实用程序都是用 Python 编写的,在 root 权限下运行。如果您授予自己对系统站点包的写权限,则您冒着在您权限下运行的任何程序(不一定是 Python 程序)都可以将恶意代码注入系统站点包并获得 root 权限的风险。如果您创建另一个用户专门拥有系统站点包,则您的攻击媒介只有恶意的 setup.py。最好不要触碰系统站点包,并使用虚拟环境。