Этот вопрос касается задержки разделения привилегий в openSSH.
Это то, что я узнал из: Отдельная привилегия OpenSSH
Мониторинг процесса порождает непривилегированный процесс для сетевой обработки (обмена ключами и аутентификации), и если пользователь проходит аутентификацию, монитор порождает процесс привилегий пользователя, после чего будет выделен pty и будет создана оболочка для конкретного пользователя.
В моем случае мне нужно порождать оболочку (пользовательский скрипт), который сначала входит в определенное пространство имен, а затем вызывает скрипт для порождения оболочки. Поскольку на этом этапе процесс привилегий пользователя порождает пользовательский сценарий, он не может войти в определенное пространство имен.
Что я видел из кода, что следующие строки кода при отбрасывании привилегии (в 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);
Не могли бы вы, ребята, подсказать мне, безопасно ли это делать, а также как мы можем отложить это разделение привилегий до появления оболочки. ?