【问题标题】:Chown doesn't work on my web serverChown 在我的网络服务器上不起作用
【发布时间】:2015-07-07 13:41:02
【问题描述】:

我在我的网络服务器 (ubuntu 14.04) 上使用 sudo chown -R www-data:www-data /var/www 时遇到问题。

我的 NodeJS 应用程序正在使用 fs 模块,当我想编辑 json 文件时,它只有在我执行 sudo chmod 0777 myfile 时才有效,而使用 chown 它不起作用...

有什么想法吗?

【问题讨论】:

  • 您的 Node 应用程序是否以用户 www-data 的身份运行?
  • 我不知道我正在使用pm2 来运行 NodeJS。 pm2 start ./bin/www --name myapp...

标签: node.js ubuntu chmod fs chown


【解决方案1】:

chown 命令使用户 www-data 成为 /var/www 中文件的所有者,这意味着要获得对这些文件的完全 (r/w) 访问权限,您也必须以该用户身份运行 Node 应用程序(sudo -u www-data 'pm2 start ...'),您必须调整文件的权限,以便您的常规用户 id 可以写入它们(就像您在将它们更改为 0777 后发现的那样),或者您必须将文件 chown 给您的常规用户id(但您可能首先将它们改成www-data)。

我会选择第一个解决方案(使用su)。

【讨论】:

  • 出于安全原因,我会使用sudo chown -R www-data:www-data /var/www...好吧,如果我在没有su 的情况下使用www-data pm2 start...,这是否有效?
  • @tonymx227 不,您需要su 才能以特定用户身份启动进程(在这种情况下为www-data
  • 我在使用此命令时遇到问题su: unrecognized option '--name'
  • 好的,但是现在“身份验证失败”,我不知道www-data的密码...我只知道root密码!
  • @tonymx227 在这种情况下,您可以改用sudo。见编辑。
猜你喜欢
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多