@waltaki

Как выполнить код от имени другого пользователя для Linux?

Есть пример таких библиотек 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?
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Подозреваю, что сделать это можно так, как это делается в разных апачах - форкается процесс, затем у дочернего процесса меняется группа и юзер. Несколько юзеров - несколько форков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы