ノードをインストールするために次のコードを使用しています:
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
このスクリプトにはルート権限が必要ですが、これによってセキュリティホールなどが生じる可能性が出てくるのではないかと思っています。すべてのユーザーが使用できるようにノードをインストールしたいのですが、ユーザーがルート権限を持っていて明示的に使用しない限り (sudo 経由)、ノードにルート権限を持たせたくありません。インストールされた npm パッケージについても同様です。
答え1
これはルートとしてインストールすることについての質問には答えていませんが、実行するのが安全ですネプパッケージをインストールするときは root として実行します。
nobody
バージョン 0.3 以降では、npm を root として実行することをお勧めします。これにより、npm はパッケージのビルド コマンドやテスト コマンドを実行する前に、ユーザー ID をユーザーに変更できます。