我们在这里遇到一个奇怪的问题。不幸的是,我不能自由地在这里发布代码,因为它属于供应商,但希望能够提供足够的信息,这是不必要的。
如果有人可以明确地说'bob'是否有可能执行“some_script.sh”,并且让它退出他的su'd会话MID-WAY并且剩余的脚本继续作为用户'pete'(谁最初冒充'bob')
我很确定这是不可能的,但有没有人知道不是吗?
要记住的事情:
干杯,
答案 0 :(得分:2)
根据您提供的信息,“不可能。”
如果用户'pete'su
为'bob',他会创建一个新的shell作为'bob'。从新shell开始的任何进程都以'bob'运行。任何脚本(如果以'bob'运行)都不能将其用户/ UID更改为'pete'。任何以'bob'开头的进程都无法更改其用户/ UID(可执行文件中没有setuid位)。
脚本的一部分更有可能是修改shell环境并更改其PATH或脚本中的其他错误。
答案 1 :(得分:1)
使用脚本尝试切换UID注定要失败。需要共享登录的权限系统 - 根据定义 - 不安全。
按照预期的方式使用AIX权限系统。如果你需要bob的凭证来执行任务,那么就拥有一个Sandipan可以执行的程序,该程序将提升为仅需要bob凭据的bob权限。
这是Principle of Least Privilege,是如何处理这项工作的。共享密码是一个糟糕的黑客,会鼓励更糟糕的黑客攻击。