【问题标题】:permissions for running passenger on OS X 10.6在 OS X 10.6 上运行乘客的权限
【发布时间】:2010-12-07 21:37:38
【问题描述】:

我不确定如何在 OSX 上为乘客设置权限。我已经很好地完成了安装,但我现在明白,Passenger 作为拥有 environment.rb 的人运行。那是我自己的用户和组,叫它苹果和苹果。据我了解,Apache 以 _www 和 _www 运行。这里的正确策略是什么?假设应用位于

/Users/apple/Documents/projects/my_rails_app

我假设我没有将该路径中所有内容的所有者和组设置为 _www。而且我不认为我可以像苹果和苹果一样运行 Apache,对吧?

是把自己放在_www 组里吗?还是……??

感谢您的帮助。

丹·唐纳森,多伦多

【问题讨论】:

  • 您是在尝试解决实际问题还是仅仅解决您想象中可能存在的问题?
  • 这是实际情况,并非假设。情况如前所述。

标签: ruby-on-rails macos permissions osx-snow-leopard passenger


【解决方案1】:

应用程序将以拥有 config/environment.rb 的任何用户身份运行。不鼓励 root 用户,并且可能会中断。

【讨论】:

  • 但是我的问题仍然存在,apache 以 _www 运行,我的文件以 apple 的身份运行,两者都在同名的组中,我应该设置什么权限以允许应用程序运行? _www 无法访问苹果文件,大概我必须是 _www 才能按原样编辑它们。
  • 不,你没有得到它。乘客将在拥有它的任何用户下运行该应用程序。试试看。
【解决方案2】:

现在正在本地主机上运行。答案很简单:将权限更改为与 apache 相同。困难来了,因为权限和所有权必须与目录的根目录相同。使用

更容易做到这一点

/Library/Webserver/Documents/my_rails_app

并更新 apache.conf 以反映相同。

【讨论】:

  • 这基本上是在击败您的系统以提交。你不应该那样做。您的乘客配置有问题,和/或 Apache 未以 root 身份启动,因此 suexec 无法工作。
【解决方案3】:

假设您的Passenger安装是干净的(即,自从升级到Snow Leopard以来您已经重新安装并重新配置了配置文件)并且您没有弄乱默认设置,您不应该做任何事情。 User switching 应该默认启用,运行您的应用程序的Passenger 进程应该自动将suexec 发送到您自己的用户帐户。

如果不是这样,请检查以确保您使用的是 OS X 的内置 Apache 服务器,然后仔细检查您的乘客配置中的所有内容。您也可以向their site 寻求支持。

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 2012-02-21
    相关资源
    最近更新 更多