【问题标题】:How to let user execute script as someone else?如何让用户以其他人的身份执行脚本?
【发布时间】:2015-05-16 22:36:13
【问题描述】:

我想限制用户 B 在我的服务器上可以执行的操作。更准确地说,我希望他只能运行用户 A 可以运行的特定命令/脚本(并且必须以用户 A 的身份运行)。

如何让用户 B 以用户 A 的身份只执行这个脚本?

我发现使用 sudo 提到的内容,用户 B 无权访问。我可以更改脚本的权限,以便 B 可以作为 A 运行它吗?

【问题讨论】:

  • 这不是一个真正的编程问题,您可能会在unix.stackexchange.com 获得更好的问题答案。
  • 如果您是该服务器的管理员,您可以配置sudo 以允许B 以A 身份运行脚本。
  • 如果您非常小心,您可以让用户 A 创建一个 SUID(设置用户 ID)程序,该程序 (1) 验证它是否由用户 B 运行,如果是其他人尝试则退出运行它,并且 (2) 安排运行完成这项工作的原始脚本。不过,你必须非常小心——这不适合胆小的人。例如,如果可以说服脚本启动vim 之类的编辑器,那么用户B 可以获得具有用户A 权限的shell,然后几乎可以执行A 作为A 可以做的任何事情。范围越小在脚本的作用中,这种技术越安全。

标签: shell permissions sudo


【解决方案1】:

如果 B 不能使用sudo,则 B 不能以用户 A 的身份运行脚本。但是您可以授予 B 运行脚本的权限。为此,您可以简单地将 A 添加为 B 的组,而 A 有权运行脚本。这样您就可以确保没有其他不在组 A 中的用户能够运行该脚本。

如果您对详细解释感兴趣,请see this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-04
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 2022-01-17
    相关资源
    最近更新 更多