OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

Node.js 和 JavaScript 的最新版 npm 导致 Linux 系统崩溃,迫使用户重装系统!


分享到
分类 JS学习   关键字 Node.JS   发布 ourjs  1519440051056
注意 转载须保留原文链接,译文链接,作者译者等信息。  

来源:云头条公众号


npm最近事故不断,继 2018年1月初的丢包事件之后,


npm(节点软件包管理器)是使用最广泛的JavaScript软件包管理器,npm中的一个缺陷(bug)将更改重要的Linux系统文件夹(比如/etc、/usr和/boot)的所有权。


据此前安装npm v5.7.0的用户声称,更改这些文件的所有权后,结果不是导致系统和各个本地应用程序崩溃,就是阻止系统启动。这是一款显然存在缺陷的npm更新版。


大多数用户将不得不重装系统


安装了此更新版的用户(主要是开发人员和软件工程师)可能不得不从头开始重新安装系统,或者从之前的系统镜像来进行恢复。


一位受到影响的用户今天在GitHub的缺陷报告中诉苦:“仅仅部署了一下, 3台生产环境服务器就彻底毁了。”其他许多用户纷纷跑到Twitter,吐槽开发和生产环境服务器存在类似问题,提醒其他用户切勿更新。


我的天……npm中的缺陷更改了/ 文件系统的属性,搞坏了生产环境linux或unix系统。“sudo npm”将更改“/”目录的所有权。

我开这个问题单是由于,npm崩溃了。npm导致了不正确的安装。npm的行为让我摸不着头脑。


“如果我运行sudo npm --help……我的文件系统[更改]/etc、/usr和/boot等目录的所有权。”

今天对许多操作人员来说会是漫长的一天。


来自npm社区的早间问候:垃圾箱着火了:

我开这个问题单是由于,npm崩溃了。npm导致了不正确的安装。npm的行为让我摸不着头脑。


今天真不想成为Node.js开发人员,听起来最新版的NPM将你的系统搞砸了。


一周前就首次报告了缺陷


这个缺陷在一周前就被首次报告了,却迟迟没有得到npm开发人员的答复。昨晚的版本发布后,用户们提交了一个新的错误报告(https://github.com/npm/npm/issues/19883 ),随后npm的开发团队发布了npm v5.7.1,这个版本去除了有缺陷的代码。FreeBSD用户也反映受到了这个缺陷的影响。Mac用户和Windows用户没有遇到任何问题。这个问题并没有影响到所有Linux用户。


在v5.7.0上线三小时后,软件开发人员杰瑞德•蒂亚拉(Jared Tiala)向npm的开发团队报告了这个问题。他说:“如果以非root用户的身份(root用户没有同样的影响)运行sudo npm,文件系统权限会被严重修改。”


以root用户的身份运行npm update命令并不导致npm试图为所有文件重新分配root所有权,所以这个问题似乎只影响以sudo命令作为前缀的npm update操作。


蒂亚说:“比如说,如果我运行sudo npm --help或sudo npm update -g,那么这两个命令都会导致文件系统更改/etc、/usr、/boot等目录以及运行系统所需要的其他目录的所有权。 看起来所有权被递归更改,改成属于目前运行npm的用户。”


npm是Node.js和JavaScript的一个重要部分,而Node.js和JavaScript运行着如今许多网站。尽管npm很重要,但npm项目却只有两个开发人员。这使得该项目极容易出现低级错误;万一哪里出了岔子,这两名程序员同时在梦乡的情况也很常见。


npm是所有大中小型JavaScript项目的事实上的软件包管理器。npm由Node.js来包装,也是互联网上的头号软件包管理器,为Node.js、Ember、jQuery、Bootstrap、React、Angular及其他许多JavaScript框架托管代码库和插件。这年头你找不到不使用JavaScript的开发人员。


这可不是npm头一回表明它到底有多脆弱不堪了。两年前,一名程序员仓促发布了一个只有7行代码的名为left-pad的程序后(成千上万的Node.js程序需要该程序才能正常运行),npm发生了灾难性故障。像这么重要的程序不该只有两名核心开发人员靠拮据的经费来运作和维护。

原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. Node.JS中UDP打洞穿透内网路由,架设内网服务器技术详解及源码
  2. 马化腾创办腾讯的第一桶金是怎么来的:炒股10万炒到70万
  3. node.js用fs.rename强制重命名或移动文件夹
  4. 用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS)
  5. 如何为OnceAir顽石个人私有云盘设置固定公网访问地址
  6. 如何用Bootstrap免费网站模板和OnceAir云盘搭建个人网站服务器
  7. Node.JS段点续传:Nginx配置文件分段下载功能实现
  8. Node.JS如何查看本地MAC/IP地址、计算cpu使用率和内存容量
  9. Node.JS高效压缩解压zip文件:将child_process执行结果输入stdout流
  10. JavaScript数组从头开始的位置插入新元素或删除第一个元素
  11. AirJD-简单好用的免费建站工具

 相关阅读 - JS学习
  1. 用jQuery创建一个可编辑的SELECT下拉控件(HTML/CSS)
  2. 如何用Bootstrap免费网站模板和OnceAir云盘搭建个人网站服务器
  3. Node.JS高效压缩解压zip文件:将child_process执行结果输入stdout流
  4. Node.JS段点续传:Nginx配置文件分段下载功能实现
  5. Node.JS如何查看本地MAC/IP地址、计算cpu使用率和内存容量
  6. JavaScript数组从头开始的位置插入新元素或删除第一个元素
  7. Node.JS中UDP打洞穿透内网路由,架设内网服务器技术详解及源码
  8. 移动端开发框架哪个好?jQuery/Vue/AngularJS有哪些区别和优缺点?
  9. Node.JS 8.x和9.x新特性:N-API,NPM5,ERROR CODE
  10. Node.JS读取中文TXT编码文件显示乱码问题解决方案

 关键字 - Node.JS
  1. Node.JS如何查看本地MAC/IP地址、计算cpu使用率和内存容量
  2. Express入门教程:一个简单的博客
  3. 在nodejs中使用Redis缓存和查询数据及Session持久化(Express)
  4. 如何收集捕获Node中的未处理的错误异常信息?
  5. trim-html:NodeJS的HTML文本截取库(自动生成正文摘要)
  6. Node.JS循环删除非空文件夹及子目录下的所有文件
  7. Node.js 和 JavaScript 的最新版 npm 导致 Linux 系统崩溃,迫使用户重装系统!
  8. [译]Node.js 框架比较: Express vs. Koa vs. Hapi
  9. 如何用Bootstrap免费网站模板和OnceAir云盘搭建个人网站服务器
  10. 沃尔玛为什么要采用Node.js

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号