如何在 Ubuntu 上以不同的用户身份运行我的 Thin 服务器?

如何在 Ubuntu 上以不同的用户身份运行我的 Thin 服务器?

我运行的是 Ubuntu 10.04 VPS,它托管了 2 个 Thin 进程,在 Nginx 后面运行 Ruby On Rails。我以普通用户身份通过​​ /etc/init.d 启动脚本控制 Thin 进程。在我的 Thin 配置文件中,我指定:

user: www-data
group: www-data

在我的 Thin 日志中,当我启动服务器时,我看到

>> Changing process privilege to www-data:www-data

好兆头。问题是当我运行ps -efThin 进程时,它们以我登录的用户身份运行——我/etc/init.d/thin start以哪个用户身份运行。

/etc/init.d/thin start当我以登录服务器的用户身份运行时,如何以 www-data:www-data 的形式启动 Thin 进程?

答案1

您可以使用 sudo 以任何用户:组的身份运行命令,并使用以下选项:

sudo -u www-data -g www-data /etc/init.d/thin start

-u 设置 www-data 用户,-g 设置 www-data 组

答案2

您是否尝试过做一个:

sudo -c www-data /etc/init.d/thin start

但是如果您的 Thin 服务器正在监听端口 80,那么您将需要 root 权限。

答案3

如果您是普通用户,则无法将进程所有权切换给其他用户。您需要以 root 身份运行 /etc/init.d/thin 脚本才能执行此操作。

因此,您可以做类似的事情sudo /etc/init.d/thin start

相关内容