如何设置Linux文件的权限?

时间:2015-05-12 21:33:50

标签: ruby-on-rails ruby linux passenger

我想知道如何为文件/log/production.log设置正确的权限?每个人都说只是使用chmodchown,但没有人解释在这些命令之后我应该做什么。我是初学者,如果你能解释,我将不胜感激。

在我的特定示例中,我在生产服务器上有rails应用程序,我需要在production.log目录中设置/var/www/my_app/log/文件的权限。

以下是我要求的文件:

  

默认情况下,Phusion Passenger运行Rails应用程序作为其所有者   config.ru。因此,只有该用户拥有日志文件才能写入   写入日志文件的权限。请chmod或chown你的日志文件   相应

希望你能提供帮助。感谢。

3 个答案:

答案 0 :(得分:1)

尝试chmod 0660 production.log并查看chmod的this解释/图表。

答案 1 :(得分:0)

我会为您的应用程序创建一个部署用户,比如说myapp(名称并不特别重要)。使用此用户来部署/管理您的应用程序。假设用户名为myapp

 chown -R myapp:myapp /var/www/my_app  

然后重新启动nginx / passenger。这将导致乘客作为myapp用户运行,并允许其在logs目录下写入日志。 (还要确保您没有/ var / www作为docroot,可以在乘客之外访问,因为它可能导致信息泄漏)

另一个选项,如果服务器未共享,则可以作为www用户运行。所以

chown -R www:www /var/www/my_app

应允许进程写入日志。

答案 2 :(得分:0)

chmod允许更改文件或目录的权限。存在三个不同组(所有者,组,其他)的三个基本权限(读,写,执行)。

chown允许更改文件或目录的所有者。

我建议您使用chmod 640。在这里查看chmod的语法,您可以定义production.log的所有者(通常是root),可以读取和写入此文件。如果需要,您可以为所有者的同一组的所有用户提供读访问权限。但是你不应该为其他人提供权限,更不用说在生产环境中了。