Details
diff --git a/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java b/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
index f71e483..5532ac1 100644
--- a/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
+++ b/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
@@ -110,13 +110,13 @@ public class ProcessJob extends AbstractProcessJob {
envVars.put(KRB5CCNAME, getKrb5ccname(jobProps));
// determine whether to run as Azkaban or run as effectiveUser
- String executeAsUserBinary = null;
+ String executeAsUserBinaryPath = null;
String effectiveUser = null;
boolean isExecuteAsUser = determineExecuteAsUser(sysProps, jobProps);
if (isExecuteAsUser) {
String nativeLibFolder = sysProps.getString(NATIVE_LIB_FOLDER);
- executeAsUserBinary =
+ executeAsUserBinaryPath =
String.format("%s/%s", nativeLibFolder, "execute-as-user");
effectiveUser = getEffectiveUser(jobProps);
if ("root".equals(effectiveUser)) {
@@ -129,13 +129,13 @@ public class ProcessJob extends AbstractProcessJob {
AzkabanProcessBuilder builder = null;
if (isExecuteAsUser) {
command =
- String.format("%s %s %s", executeAsUserBinary, effectiveUser,
+ String.format("%s %s %s", executeAsUserBinaryPath, effectiveUser,
command);
info("Command: " + command);
builder =
new AzkabanProcessBuilder(partitionCommandLine(command))
.setEnv(envVars).setWorkingDir(getCwd()).setLogger(getLog())
- .setExecuteAsUser().setExecuteAsUserBinary(executeAsUserBinary)
+ .setExecuteAsUser().setExecuteAsUserBinaryPath(executeAsUserBinaryPath)
.setEffectiveUser(effectiveUser);
} else {
info("Command: " + command);
diff --git a/azkaban-common/src/main/java/azkaban/jobExecutor/utils/process/AzkabanProcessBuilder.java b/azkaban-common/src/main/java/azkaban/jobExecutor/utils/process/AzkabanProcessBuilder.java
index 070c407..91561bc 100644
--- a/azkaban-common/src/main/java/azkaban/jobExecutor/utils/process/AzkabanProcessBuilder.java
+++ b/azkaban-common/src/main/java/azkaban/jobExecutor/utils/process/AzkabanProcessBuilder.java
@@ -36,7 +36,7 @@ public class AzkabanProcessBuilder {
private String workingDir = System.getProperty("user.dir");
private Logger logger = Logger.getLogger(AzkabanProcess.class);
private boolean isExecuteAsUser = false;
- private String executeAsUserBinary = null;
+ private String executeAsUserBinaryPath = null;
private String effectiveUser = null;
private int stdErrSnippetSize = 30;
@@ -103,11 +103,12 @@ public class AzkabanProcessBuilder {
}
public AzkabanProcess build() {
- if (isExecuteAsUser)
+ if (isExecuteAsUser) {
return new AzkabanProcess(cmd, env, workingDir, logger,
- executeAsUserBinary, effectiveUser);
- else
+ executeAsUserBinaryPath, effectiveUser);
+ } else {
return new AzkabanProcess(cmd, env, workingDir, logger);
+ }
}
public List<String> getCommand() {
@@ -129,8 +130,8 @@ public class AzkabanProcessBuilder {
return this;
}
- public AzkabanProcessBuilder setExecuteAsUserBinary(String executeAsUserBinary) {
- this.executeAsUserBinary = executeAsUserBinary;
+ public AzkabanProcessBuilder setExecuteAsUserBinaryPath(String executeAsUserBinaryPath) {
+ this.executeAsUserBinaryPath = executeAsUserBinaryPath;
return this;
}
diff --git a/azkaban-execserver/src/main/resources/execute-as-user.c b/azkaban-execserver/src/main/resources/execute-as-user.c
index 0a8cbe3..117fd88 100644
--- a/azkaban-execserver/src/main/resources/execute-as-user.c
+++ b/azkaban-execserver/src/main/resources/execute-as-user.c
@@ -77,10 +77,12 @@ int change_user(uid_t user, gid_t group) {
int main(int argc, char **argv){
// set up the logging stream
- if(!LOGFILE)
+ if (!LOGFILE){
LOGFILE=stdout;
- if(!ERRORFILE)
+ }
+ if (!ERRORFILE){
ERRORFILE=stderr;
+ }
if (argc < 3) {
fprintf(ERRORFILE, "Requires at least 3 variables: ./execute-as-user uid command [args]");
@@ -91,7 +93,7 @@ int main(int argc, char **argv){
// gather information about user
struct passwd *user_info = getpwnam(uid);
- if ( user_info == NULL ){
+ if (user_info == NULL){
fprintf(LOGFILE, "user does not exist: %s", uid);
return USER_NOT_FOUND;
}
@@ -99,7 +101,7 @@ int main(int argc, char **argv){
// try to change user
fprintf(LOGFILE, "Changing user: user: %s, uid: %d, gid: %d\n", uid, user_info->pw_uid, user_info->pw_gid);
int retval = change_user(user_info->pw_uid, user_info->pw_gid);
- if( retval != 0){
+ if (retval != 0){
fprintf(LOGFILE, "Error changing user to %s\n", uid);
return SETUID_OPER_FAILED;
}
@@ -113,9 +115,11 @@ int main(int argc, char **argv){
// sometimes system(cmd) returns 256, which is interpreted to 0, making a failed job a successful job
// hence this goofy piece of if statement.
- if(retval != 0)
+ if (retval != 0){
return 1;
- else
+ }
+ else{
return 0;
+ }
}