From 32d9b20cf363f7a108050e529bd6b6b0ffa54fab Mon Sep 17 00:00:00 2001 From: David Hill Date: Tue, 30 Oct 2018 15:27:39 -0500 Subject: [PATCH] MCOL-520 - sudo testing amazon --- oam/install_scripts/module_installer.sh | 2 +- procmon/main.cpp | 8 ++++++-- procmon/processmonitor.cpp | 18 +++++++++++------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/oam/install_scripts/module_installer.sh b/oam/install_scripts/module_installer.sh index 2c1150197..ba810b15c 100755 --- a/oam/install_scripts/module_installer.sh +++ b/oam/install_scripts/module_installer.sh @@ -178,7 +178,7 @@ touch $RCFILE if [ $user != "root" ]; then echo "uncomment runuser in rc.local, amazon AMI" - sed -i -e 's/#runuser/runuser/g' /etc/rc.d/rc.local >/dev/null 2>&1 + sudo sed -i -e 's/#runuser/runuser/g' /etc/rc.d/rc.local >/dev/null 2>&1 fi echo "!!!Module Installation Successfully Completed!!!" diff --git a/procmon/main.cpp b/procmon/main.cpp index 6d7406ee1..02ad7abbb 100644 --- a/procmon/main.cpp +++ b/procmon/main.cpp @@ -62,6 +62,7 @@ string USER = "root"; string PMwithUM = "n"; bool startProcMon = false; string tmpLogDir; +string SUDO = ""; //extern std::string gOAMParentModuleName; extern bool gOAMParentModuleFlag; @@ -164,9 +165,12 @@ int main(int argc, char** argv) int user; user = getuid(); - if (user != 0) + if (user != 0) + { rootUser = false; - + SUDO = "sudo "; + } + char* p = getenv("USER"); if (p && *p) diff --git a/procmon/processmonitor.cpp b/procmon/processmonitor.cpp index 482b5c2bb..95b2fd503 100644 --- a/procmon/processmonitor.cpp +++ b/procmon/processmonitor.cpp @@ -54,6 +54,7 @@ extern bool HDFS; extern string PMwithUM; extern bool startProcMon; extern string tmpLogDir; +extern string SUDO; //std::string gOAMParentModuleName; bool gOAMParentModuleFlag; @@ -1822,9 +1823,9 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO string cmd = "export LC_ALL=C;mount " + startup::StartUp::installDir() + "/data" + dbrootID + " > " + tmpMount + "2>&1"; system(cmd.c_str()); - if ( !rootUser) + if ( !rootUser ) { - cmd = "chown -R " + USER + ":" + USER + " " + startup::StartUp::installDir() + "/data" + dbrootID + " > /dev/null 2>&1"; + cmd = SUDO + "chown -R " + USER + ":" + USER + " " + startup::StartUp::installDir() + "/data" + dbrootID + " > /dev/null 2>&1"; system(cmd.c_str()); } @@ -5916,7 +5917,7 @@ bool ProcessMonitor::amazonVolumeCheck(int dbrootID) system(cmd.c_str()); log.writeLog(__LINE__, "mount cmd: " + cmd, LOG_TYPE_DEBUG); - cmd = "chown mysql:mysql -R " + startup::StartUp::installDir() + "/mysql/db"; + cmd = SUDO + "chown mysql:mysql -R " + startup::StartUp::installDir() + "/mysql/db"; system(cmd.c_str()); log.writeLog(__LINE__, "amazonVolumeCheck function successfully completed, volume attached: " + volumeName, LOG_TYPE_DEBUG); @@ -5949,7 +5950,7 @@ bool ProcessMonitor::amazonVolumeCheck(int dbrootID) system(cmd.c_str()); log.writeLog(__LINE__, "mount cmd: " + cmd, LOG_TYPE_DEBUG); - cmd = "chown mysql:mysql -R " + startup::StartUp::installDir() + "/mysql/db"; + cmd = SUDO + "chown mysql:mysql -R " + startup::StartUp::installDir() + "/mysql/db"; system(cmd.c_str()); return true; @@ -6016,13 +6017,16 @@ bool ProcessMonitor::amazonVolumeCheck(int dbrootID) if (oam.attachEC2Volume(volumeName, deviceName, instanceName)) { - - log.writeLog(__LINE__, "amazonVolumeCheck function , volume to attached: " + volumeName, LOG_TYPE_DEBUG); + log.writeLog(__LINE__, "amazonVolumeCheck function , volume to attached: " + volumeName, LOG_TYPE_DEBUG); string cmd = "mount " + startup::StartUp::installDir() + "/data" + oam.itoa(dbrootID) + " > /dev/null"; system(cmd.c_str()); log.writeLog(__LINE__, "amazonVolumeCheck function , volume to mounted: " + volumeName, LOG_TYPE_DEBUG); + + cmd = SUDO + "chown mysql:mysql -R " + startup::StartUp::installDir() + "/data" + oam.itoa(dbrootID); + system(cmd.c_str()); + return true; } else @@ -6326,7 +6330,7 @@ int ProcessMonitor::checkDataMount() if ( !rootUser) { - cmd = "chown -R " + USER + ":" + USER + " " + dbroot + " > /dev/null 2>&1"; + cmd = SUDO + "chown -R " + USER + ":" + USER + " " + dbroot + " > /dev/null 2>&1"; system(cmd.c_str()); }