【问题标题】:Node - "mkdir /var/log/some_dir" Permission Denied节点 - “mkdir /var/log/some_dir”权限被拒绝
【发布时间】:2015-09-24 23:28:20
【问题描述】:

我正在创建一个 node.js 持久记录器。 我想在 /var/log 下创建一个用于登录的目录并拒绝权限,因为我在我的用户下运行。

我的问题是,在节点中创建此目录时,普遍接受的方法是什么?如果需要创建目录,我应该执行 sudo 命令并让用户输入密码吗?

【问题讨论】:

  • 为了澄清,我使用不创建目录的 exec 命令运行 mkdir,我想知道我是否应该尝试使用 sudo 运行相同的 exec 命令并以某种方式让他们输入他们的密码,或者如果他们是实现我所缺少的这种事情的另一种方式。
  • 我看到类似这样的东西:npmjs.com/package/sudo-prompt 但如果可以的话,我想避免为此使用库。

标签: node.js


【解决方案1】:

您是否可以在/var/log 下创建一个目录并为此分配权限,作为一次性 sudo,可能也包含在您的设置说明中。在运行命令之前必须使用 sudo 不是很好,也不是很安全,但是可以设置。

一旦配置了权限,你应该没问题。基本上尝试不以 root 身份运行应用程序。还要考虑您的日志是否确实需要位于该位置。只是一些建议。

【讨论】:

  • 我确实考虑过将此目录放在用户的主目录下,在您回答之后,我认为这实际上是一个好主意。这样,日志记录可以包含在运行应用程序的任何用户帐户中。现在权限问题没有实际意义。
猜你喜欢
  • 2019-06-16
  • 2016-05-15
  • 2016-08-24
  • 2013-07-01
  • 2012-08-13
  • 1970-01-01
  • 2021-11-01
相关资源
最近更新 更多