Есть пример таких библиотек
https://github.com/mwijnands/Impersonator, но они работают только под Windows.
using (new Impersonator(@"domainname\username", "password"))
{
// this code is executed as the user with supplied credentials.
var files = Directory.GetFiles(@"\\server\share\folder");
}
Как подобное бесшовно реализовать в Linux? Думаю насчёт варианта c setuid, setgid, но не понятно, как они себя будут вести, в случае параллельной работы с несколькими разными пользователями, да и работает это на всю программу, а не контекст, как в примере выше.
Возможно ли такое реализовать вообще для Linux?