如何在 OpenBSD 上 su 到 www?

如何在 OpenBSD 上 su 到 www?

我有一个 PHP 脚本,我希望在 www 帐户下运行。

该帐户没有作为 shell 的 nologin,并由 Apache 使用。

当我以 root 身份运行“su -l www -s /bin/ksh”时,我收到以下消息:

该帐户当前不可用。

我使用 OpenBSD 5.2

答案1

www 帐户通常用于 Web 服务器进程,出于安全原因禁止直接登录 shell。必须保持这种方式,以防止黑客试图在您的网站上获取服务器上的更高权限。赶紧跑

grep www /etc/passwd

并记下分配给该帐户的 shell。它必须是类似 /bin/nologin 或类似的东西。如果你有这个服务器的root权限,你可以修改它,但是,我强烈建议不要做这样的事情。如果您只是测试某些内容,请快速完成并将其恢复回来。

当然,如果您在此服务器上运行面向公众的网站,则此建议仍然有效。

答案2

简单的选项是以具有登录 shell 行为的用户身份运行您最喜欢的 shell:

sudo -u www bash -l

这样做的缺点:

  1. 它与实际登录有细微的差别。
  2. 它需要须藤作为使用目标用户 shell 执行所选 shell。

相关内容