【问题标题】:How do I run Ruby daemons as a specific user?如何以特定用户身份运行 Ruby 守护程序?
【发布时间】:2011-08-12 16:31:34
【问题描述】:

我正在尝试使用 daemons gem 运行 Ruby 守护程序。

它将以用户“joe”的身份启动,但一旦被妖魔化就需要更改为“www-data”,以便它可以访问将要处理的文件。

我可以看到守护进程对 Application 类有 change_privilege 方法,但我不知道如何在这段代码周围使用它:

require 'daemons'
Daemons.run(
  File.join(File.dirname(__FILE__), 'worker.rb'),
  {
    :backtrace  => true,
    :log_output => true,
    :dir_mode   => :script,
    :log_dir    => '/tmp',
    :monitor    => true
  }
)

【问题讨论】:

  • 仅供参考。由用户“joe”启动的进程将无法将用户 ID 更改为“www-data”。它需要由 root 用户启动。
  • 你是对的,乔只是一个例子:)
  • 我通常处理上述问题的方式是使用操作系统工具在启动脚本中设置它。或在上帝之类的东西中设置有效ID。

标签: ruby daemons


【解决方案1】:

您不应该以www-data 身份运行,因为这是 apache 的特定用户。但是,您应该将“joe”添加到可以访问此类文件的 www 用户组。

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    相关资源
    最近更新 更多