偶尔我碰上评论或回应表示国家重点跑跑pip
下sudo
是“错误”或“坏”,但也有例(其中我有一堆的设置工具的方式),其中它要么是简单得多,甚至需要运行这种方式。
什么是与运行有关的风险pip
下sudo
?
请注意,这不一样的问题, 这其中 ,其中,尽管标题,不提供有关风险的信息。 这还不算一个关于如何避免使用的问题sudo
,而是具体为何人会愿意。
偶尔我碰上评论或回应表示国家重点跑跑pip
下sudo
是“错误”或“坏”,但也有例(其中我有一堆的设置工具的方式),其中它要么是简单得多,甚至需要运行这种方式。
什么是与运行有关的风险pip
下sudo
?
请注意,这不一样的问题, 这其中 ,其中,尽管标题,不提供有关风险的信息。 这还不算一个关于如何避免使用的问题sudo
,而是具体为何人会愿意。
当您运行pip
用sudo
,你运行setup.py
使用sudo
。 换句话说,您从互联网作为根的任意Python代码。 如果有人提出了PyPI上的恶意项目,你安装它,你给你的机器攻击root访问权限。 此前最近的一些修正,以pip
和PyPI中,攻击者还可以在中间人攻击运行一个人,当你下载一个值得信赖的项目注入自己的代码。
除了明显的安全隐患(我认为其实很低,当你安装你知道软件)在其他的答案带来的还有另外一个原因。 自带的系统Python是这个系统的一部分,当你要管理你使用的安装/升级/卸载软件的情况下,指定用于系统维护像包管理工具系统。 当你开始修改系统与第三方工具(在这种情况下PIP)软件,那么你有没有关于您的系统状态的保证。 另一个原因是,须藤能带给你的问题,你不会有机会或者有很小的机会,有其他方式。 例如见sys.executable和内容sys.version在Python之间的不匹配
发行版都意识到这个问题,并设法减轻它。 比如Fedora的- 制作须藤点子安全和Debian - 的dist-包,而不是站点包 。
使用PIP这样意味着你信任它给你允许它做任何事情,你的系统的水平。 不仅点子,而且任何代码,它将从源下载并执行你可能不相信,并且可以是恶意的。
和PIP并不需要所有的权限,只对特定的文件和目录的写访问。 如果你不能使用你的系统的软件包管理器和不想去虚拟环境的方式,你可以创建一个具有写权限的Python安装目录下,并将其用于PIP特定用户。 这样,你更好地控制哪些可以点子做与不做。 你可以使用sudo -u
为!
唯一“错误”与sudo
是吧,好,不作为超级用户阿拉根这意味着你有可能摧毁一个安装了错误的命令。 由于PIP是针对特定程序包维护,你需要这样的访问,无论如何进行更改?