Запуск сценария с использованием sudo с именем get внутри возвращает root при использовании процессов, но не для некотор ⇐ Linux
-
Anonymous
Запуск сценария с использованием sudo с именем get внутри возвращает root при использовании процессов, но не для некотор
Итак, у меня есть сценарий, который является главным контроллером и
`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 только для всех сценариев, как и ожидалось
Итак, у меня есть сценарий, который является главным контроллером и
`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 только для всех сценариев, как и ожидалось
Мобильная версия