Для установки узла я использую следующий код:
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, и мне интересно, не открывает ли это возможности для каких-либо дыр в безопасности или чего-то в этом роде. Я хочу установить node, чтобы все пользователи могли его использовать, но я не хочу, чтобы у него были привилегии root, если только пользователь их не имеет и явно не использует их (через sudo). То же самое с установленными пакетами npm.
решение1
Это не ответ на ваш вопрос об установке с правами root, но безопаснее выполнитьнпмкак root при установке пакетов.
Начиная с версии 0.3, рекомендуется запускать npm как root. Это позволяет npm изменить идентификатор пользователя на
nobody
user перед запуском любых команд сборки или тестирования пакетов.