【问题标题】:Did running 'sudo chown..' command cause a security risk?运行 'sudo chown..' 命令是否会导致安全风险?
【发布时间】:2015-12-09 01:17:27
【问题描述】:

按照此处的说明进行操作:npm throws error without sudo

我继续在终端中运行以下命令(诚然我应该更加谨慎):

sudo chown -R $(whoami) ~/.npm

对这类命令不熟悉,我现在担心这可能会导致我的系统出现安全问题。

有什么我应该担心的吗?如果是这样,有什么方法可以解决它?

提前谢谢你。

【问题讨论】:

    标签: node.js terminal npm


    【解决方案1】:

    不,~/.npm 已经在您的主文件夹中,因此 ~ 字符。如果你需要 sudo 来安装 npm 模块,那么你可能有 node 和 npm install 系统范围。当您这样做时,它会将应用程序数据放入/usr/local 路径中,因为此路径位于您的$PATH 中,这意味着您的shell 会在那里查找可执行文件。它也可供所有用户阅读,因此所有用户都可以使用 node/npm。您所做的事情并没有造成安全漏洞。但是,如果您要 chown 您的 /usr/local/ 目录,则会产生一个小的安全问题。如果您只 chown node_module 全局目录,您实际上不会产生太多安全问题,但这可能意味着您应该只在您具有写入权限的用户帐户(在您的主目录中)上安装 node/npm。

    NVM 对此很有用,它将 node/npm 安装到您的用户帐户,并将其安装路径添加到您的 $PATH 中的 .bashrc。我不建议在生产中使用 NVM,但是,生产完全是另一种球类游戏,您可能应该学习如何适当地创建系统服务/守护进程。

    【讨论】:

    • 啊,明白了。完成此操作并成功重新安装后,我确实卸载了节点。那会覆盖那个“chow”命令吗?
    • 另外,选择 '/usr/local/' 会有什么样的“次要安全”问题?谢谢
    • 您运行的命令没有任何问题,它基本上什么也没做。更改 /usr/local 意味着任何破坏该用户帐户的人都将拥有对该目录的完全访问权限。该目录包含系统正常运行所需的许多文件和二进制文件。这一切都假设文件所有者帐户已被盗用。它仍然不是您关心的问题,因为那不是您所做的。你基本上什么都没做,你的主目录~ 已经归你所有了。
    猜你喜欢
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2014-07-06
    • 1970-01-01
    • 2020-04-24
    • 2013-05-03
    相关资源
    最近更新 更多