【问题标题】:unable to pass password to su无法将密码传递给 su
【发布时间】:2011-07-17 07:53:47
【问题描述】:

我有一个 bash 脚本,它需要在不同的用户下运行几个命令。我想用 su 执行此操作,但如果没有密码提示,我无法自动 su。

运行脚本的用户将是 centos 中的 apache(因此不是真实的用户帐户,例如,您无法执行 su apache 并在 apache 用户下得到提示)。

因此,我认为像期望这样的东西不会起作用。我也无法使用 ssh 密钥从 apache SSH 到另一个 localhost 帐户。

有没有办法实现我的目标?我可以接受硬编码密码。

【问题讨论】:

  • 您可以使用 sudo 并允许 apache 以其他用户身份无密码地执行某些文件

标签: linux apache bash ssh su


【解决方案1】:

这就是 sudo 的目的 - 细粒度的权限提升。如果您将脚本添加为 apache 可以使用 sudo 运行的内容(在 /etc/sudoers 文件中),您可以提供有限的权限升级。

然而,要求从 apache 用户调用任何东西是非常危险的。它可以迅速将有限的本地漏洞利用变成根漏洞利用。在清理输入时要非常小心,了解 shell 如何扩展变量等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多