运行'sudo pip'有什么风险?

 魔帝君 发布于 2023-02-04 15:19

偶尔我碰上评论或回应表示国家重点跑跑pipsudo是"错误"或"坏",但也有例(其中我有一堆的设置工具的方式),其中它要么是简单得多,或者甚至是必要的以这种方式运行.

什么是与运行相关的风险pipsudo


请注意,这与此问题的问题不同,尽管标题不提供有关风险的信息.这也不是关于如何避免使用的问题sudo,而是关于人们想要的具体原因.

3 个回答
  • 当您运行pip使用sudo,运行setup.py使用sudo.换句话说,您以root身份从Internet运行任意Python代码.如果有人在PyPI上设置恶意项目并进行安装,则会授予攻击者root权限.在最近对pipPyPI 进行了一些修复之前,攻击者还可以在中间攻击中运行一个人,以便在下载可信项目时注入他们的代码.

    2023-02-04 15:21 回答
  • 除了明显的安全风险(我认为安装你知道的软件时实际上很低)带来了其他答案还有另一个原因.系统附带的Python是该系统的一部分,当您想要管理系统时,您可以使用指定用于系统维护的工具,如安装/升级/卸载软件时的包管理器.当您开始使用第三方工具(在此实例中为pip)修改系统软件时,您无法保证系统状态.另一个原因是,sudo可以为你带来一些你没有机会的问题,或者只有很小的机会.例如,参见Python中sys.executable和sys.version之间的不匹配

    发行版意识到这个问题,并尝试缓解它.例如Fedora - 使sudo pip安全和Debian - dist-packages而不是site-packages.

    2023-02-04 15:21 回答
  • 以这种方式使用pip意味着您将其信任到允许它为您的系统制作任何内容的级别.不仅是pip,还有它将从您可能不信任且可能是恶意的来源下载和执行的任何代码.

    并且pip不需要所有权限,只需要对特定文件和目录的写访问权限.如果您无法使用系统的软件包管理器并且不想使用虚拟环境,则可以创建一个对python安装目录具有写权限的特定用户,并将其用于pip.这样你就可以更好地控制可以做什么而不做什么.你可以用sudo -u它!

    2023-02-04 15:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有