Запуск сценария с использованием sudo с именем get внутри возвращает root при использовании процессов, но не для некоторLinux

Ответить
Anonymous
 Запуск сценария с использованием sudo с именем get внутри возвращает root при использовании процессов, но не для некотор

Сообщение Anonymous »


Итак, у меня есть сценарий, который является главным контроллером и

`Environment.GetEnvironmentVariable("SUDO_USER")` который возвращает имя пользователя пользователя sudo, которое должно быть. Этот сценарий запускается с использованием sudo в crontab, который работает нормально, однако у меня есть другой сценарий, который запускается из этого сценария с использованием процессов

`частная статическая строка RunCommand(string cmd) { вар фунтов на квадратный дюйм = новый ProcessStartInfo (); psi.FileName = "/usr/bin/sudo"; psi.Arguments = cmd; psi.RedirectStandardOutput = true; psi.UseShellExecute = ложь; psi.CreateNoWindow = правда; вар процесс = Process.Start(psi); процесс.WaitForExit(); вывод вар = процесс.StandardOutput.ReadToEnd(); обратный вывод; }` однако, когда это запустится
Environment.GetEnvironmentVariable("SUDO_USER") возвращает root, чего не должно быть. У меня есть другой скрипт, который делает то же самое и называется так же

Странно то, что вчера это работало, но когда я вхожу в систему сегодня, оно сделало это, и я вошел в систему с тем же пользователем и все такое

Я пробовал изменить его на Environment.GetEnvironmentVariable("USER"), но это возвращает root только для всех сценариев, как и ожидалось
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»