From 806333a11c03e5757d0c8dc56b5d1ca62fbacd1d Mon Sep 17 00:00:00 2001 From: ShuiMuNianHuaLP <46993277+ShuiMuNianHuaLP@users.noreply.github.com> Date: Thu, 17 Feb 2022 15:23:21 +0800 Subject: [PATCH] fix sudo.enable=false Is invalid (#8388) --- .../plugin/task/api/AbstractCommandExecutor.java | 10 ++++++---- .../dolphinscheduler/plugin/task/util/OSUtils.java | 10 ++++++++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java index fa8b24890a..487343517b 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractCommandExecutor.java @@ -124,10 +124,12 @@ public abstract class AbstractCommandExecutor { // merge error information to standard output stream processBuilder.redirectErrorStream(true); - // setting up user to run commands - command.add("sudo"); - command.add("-u"); - command.add(taskRequest.getTenantCode()); + // if sudo.enable=true,setting up user to run commands + if (OSUtils.isSudoEnable()) { + command.add("sudo"); + command.add("-u"); + command.add(taskRequest.getTenantCode()); + } command.add(commandInterpreter()); command.addAll(Collections.emptyList()); command.add(commandFile); diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/util/OSUtils.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/util/OSUtils.java index e8c66a7cf1..f34268d179 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/util/OSUtils.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/util/OSUtils.java @@ -18,6 +18,7 @@ package org.apache.dolphinscheduler.plugin.task.util; import org.apache.dolphinscheduler.plugin.task.api.ShellExecutor; +import org.apache.dolphinscheduler.spi.utils.PropertyUtils; import org.apache.dolphinscheduler.spi.utils.StringUtils; import java.io.IOException; @@ -40,6 +41,15 @@ public class OSUtils { return StringUtils.isEmpty(tenantCode) ? command : "sudo -u " + tenantCode + " " + command; } + /** + * use sudo or not + * + * @return true is use sudo + */ + public static boolean isSudoEnable() { + return PropertyUtils.getBoolean("sudo.enable", Boolean.TRUE); + } + /** * whether is macOS *