From 6ccf10cda78a045da061be45249ab98a36862aa3 Mon Sep 17 00:00:00 2001 From: Valeriy Manzhos <47538801+InvisibleRain@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:35:25 +0300 Subject: [PATCH] Allow to specify user in sudo --- v2rayN/ServiceLib/Manager/CoreAdminManager.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v2rayN/ServiceLib/Manager/CoreAdminManager.cs b/v2rayN/ServiceLib/Manager/CoreAdminManager.cs index 254688e4..71dec801 100644 --- a/v2rayN/ServiceLib/Manager/CoreAdminManager.cs +++ b/v2rayN/ServiceLib/Manager/CoreAdminManager.cs @@ -29,12 +29,12 @@ public class CoreAdminManager await _updateFunc?.Invoke(notify, msg); } - public async Task RunProcessAsLinuxSudo(string fileName, CoreInfo coreInfo, string configPath) + public async Task RunProcessAsLinuxSudo(string fileName, CoreInfo coreInfo, string configPath, uint UID) { StringBuilder sb = new(); sb.AppendLine("#!/bin/bash"); var cmdLine = $"{fileName.AppendQuotes()} {string.Format(coreInfo.Arguments, Utils.GetBinConfigPath(configPath).AppendQuotes())}"; - sb.AppendLine($"exec sudo -S -- {cmdLine}"); + sb.AppendLine($"exec sudo -u#{UID.ToString()} -S -- {cmdLine}"); var shFilePath = await FileUtils.CreateLinuxShellFile("run_as_sudo.sh", sb.ToString(), true); var procService = new ProcessService(