Ситуация такая: наша программа на rust работает от имени одного из пользователей в системе. Задача – запустить дочерний процесс от имени другого пользователя. Работать должно, как на windows, так и на linux. Существует ли какая-нибудь библиотека, котороа позволяет так делать? Я понимаю, что можно заюзать FFI, но может есть уже готовое решение?
Для *nix систем есть расширение CommandExt в стандартной библиотеке CommandExt::uid
(это будет работать только для понижения привилегий от root к непривилигированному пользователю, в обратную сторону или от одного пользователя к другому – это нужно через sudo-подобную подсистему обращаться), в Windows не знаю, но, возможно, через CommandExt::creation_flags
можно сделать (я не силён в Windows).