【发布时间】:2015-01-14 06:05:44
【问题描述】:
我在 Ubuntu Trusty 上的节点 0.10.33 上使用 Sails.js 0.10.5。我想在生产环境中以具有最低权限的非 root 用户身份执行节点进程。我对绑定到 1024 以下端口的各种选项感到满意,但我更关心目录权限。
理想情况下,我希望节点进程只有对其日志文件的写入权限,而没有其他权限。它应该只有对包含 app.js 及以下目录的读取权限。
目前,由于启动时运行的 grunt 任务,我需要授予对 ./.tmp 目录和 ./views 目录的写入权限。我宁愿在部署时作为不同的用户而不是在运行时执行 grunt 任务。 sails www 命令看起来很有希望,但我无法获得预期的结果。
有人可以指出正确的方向来运行 Sails.js,并且对其资产、视图等的写入权限为零吗?
【问题讨论】:
-
这听起来就像简单地创建一个用户(对特定目录具有特定权限)并运行
node(或启动您的应用程序),因为该用户应该可以工作。你试过吗? -
sudo -u foo grunt something和sudo -u bar node app.js(或类似)? -
@Whymarrh 据我了解,为基于 Sails 的应用程序运行
node app.js然后将grunt作为同一用户帐户的子进程启动。如果有人知道如何将 grunt 的自动执行与 Sails 分开,这将有助于回答我的问题。
标签: javascript node.js ubuntu gruntjs sails.js