繁体   English   中英

使用root权限安装node.js有缺点吗?

[英]Are there downsides to installing node.js with root privileges?

我正在使用以下代码来安装节点:

    cd /usr/local/src/
    wget http://nodejs.org/dist/v0.10.25/node-v0.10.25.tar.gz
    tar -xvf node-v0.10.25.tar.gz
    cd node-v0.10.25
    ./configure
    make
    make install
        # node.js links to make sudo work right
    ln -s /usr/local/bin/node /usr/bin/node
    ln -s /usr/local/lib/node /usr/lib/node
    ln -s /usr/local/bin/npm /usr/bin/npm
    ln -s /usr/local/bin/node-waf /usr/bin/node-waf

该脚本需要root权限,我想知道是否会出现任何安全漏洞或类似内容的可能性。 我想安装节点以便所有用户都可以使用它,但我不希望它具有任何root权限,除非用户拥有它们并明确使用它们(通过sudo)。 与安装的npm包相同。

这很好,就像使用包管理器以root身份安装东西时一样。

二进制文件以root作为所有者和敏感权限写入磁盘,这样人们就无法覆盖它们。 当用户执行二进制文件时,他们在他的帐户下运行,并拥有他在系统上的权限。 (除非他与sudo一起运行)

对于普通用户在没有sudo的情况下运行它时具有提升权限的二进制文件,它需要设置SUID位,这需要显式设置。 / bin / ping就是一个例子:

user@dek:/bin$ ls -l /bin/ping
-rwsr-xr-x 1 root root 44168 May  7 22:51 /bin/ping

正如Ignacio所指出的那样,你可以运行大多数非特权的脚本,直到“make install”,但你必须事后修复二进制文件所有者(chown root:root),因为它们将由你编译(创建)它们的用户帐户拥有。

如果您已经验证了您下载的tarball是合法的,那么以root身份安装应该没有问题,即sudo make install 尽管如此,构建应始终以非root身份完成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM