我有一个 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
这样做的缺点:
- 它与实际登录有细微的差别。
- 它需要须藤作为苏使用目标用户 shell 执行所选 shell。