这个问题是关于延迟 openSSH 中的权限分离。
以下是我所学到的:权限分离的 OpenSSH
监控进程生成非特权进程,用于网络处理(密钥交换和身份验证),如果用户通过身份验证,监控进程生成用户权限在此之后,将分配 pty 并生成用户特定的 shell。
在我的例子中,我需要生成一个 shell(自定义脚本),该脚本首先进入特定命名空间,然后调用该脚本来生成 shell。由于在此阶段,用户特权进程正在生成自定义脚本,因此它无法进入特定命名空间。
我从代码中看到,以下代码行将权限(在 privsep_postauth 中)授予用户。
-
668 -
669 /* Demote the private keys to public keys. */ -
670 demote_sensitive_data(); -
671 -
672 reseed_prngs(); -
673 -
674 /* Drop privileges */ -
675 do_setusercontext(authctxt->pw);
你们能指导我这样做是否安全吗,以及如何延迟这种特权分离直到生成 shell?