在 openSSH 中延迟特权分离

在 openSSH 中延迟特权分离

这个问题是关于延迟 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?

相关内容