【发布时间】:2018-01-18 09:19:14
【问题描述】:
在 Ubuntu 16.04 上,我使用 NVM 安装了 NodeJS v8.9.3。我以root 运行安装,因此这里安装了节点:
/root/.nvm/versions/node/v8.9.3/bin/node
为了让非 root 用户可以访问它,我在/usr/bin/node 创建了一个软链接:
lrwxrwxrwx 1 root root 40 янв 18 11:58 node -> /root/.nvm/versions/node/v8.9.3/bin/node
节点文件本身对所有用户都有可执行权限:
-rwxrwxr-x 1 500 500 35200878 дек 8 17:09 /root/.nvm/versions/node/v8.9.3/bin/node
当我以 root 身份访问节点时,一切正常:
# node -v && which node
v8.9.3
/root/.nvm/versions/node/v8.9.3/bin/node
任何以非 root 用户身份访问它的尝试都会失败:
$ node -v
The program 'node' is currently not installed. You can install it by typing:
sudo apt install nodejs-legacy
$ /usr/bin/node -v
bash: /usr/bin/node: Permission denied
我必须在哪里进行哪些更改才能允许非 root 用户访问节点?
【问题讨论】:
标签: node.js permissions executable nvm