Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Hide DB_PASSWORD from OS when running XDOLoader

Received Response
48
Views
9
Comments

Summary

Hide DB_PASSWORD from OS when running XDOLoader

Content

Hi All,

We are using XDOLoader in a script to download our BI templates from E-Bus. There are two parameters used to connect to the DB, these are DB_USERNAME and DB_PASSWORD.

I have an issue that when the loader is running on Unix/Linux, a ps -ef | grep XDOLoader command reveals the password provided to download the templates.

How can we run XDOLoader and hide the password from the OS?

Answers

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    Ohh sorry for my confusion , I got your issue....but in my point of you we are not exposing password from application , one level down who has access to unix specially DBAs who has unix access can see the password.

    But still its interesting to investigate and will let you know if find something...

    You can get more response of this if you post this to DBAs or Unix forum.

    Regards,

    brajesh

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    That's what I was trying to say....

    While you pass password to variable PASS in unix use the 'stty' command that will hide your password to display

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    How you are running XDOLoader command? do you have some shell script ?

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    Please don't hard code the password in download script. You can pass is at runtime.

  • Brajesh Shukla-95078
    Brajesh Shukla-95078 Rank 7 - Analytics Coach

    I hope you are running XDOLoader from unix...so once you enter password you can use setty command to hide the password charcters

    e.g.

    echo -n "Enter Apps schema password: "

        stty -echo

        read APPSPWD

        stty echo

        echo ""

    after this your password will store in variable APPSPWD and you can use in your download script

  • Peter Lewis-91679
    Peter Lewis-91679 Rank 3 - Community Apprentice

    Thanks for the tip.  I'll try again on the other forums.

  • Peter Lewis-91679
    Peter Lewis-91679 Rank 3 - Community Apprentice

    Hi Brajesh,

    I appreciate your help, but the issue is not typing the password in. Please check my previous post again.

    We read the password into the script using the following commands:

      echo -n "Enter the password: "

      read -s PASS

    Whatever password we type secretly into PASS, it is displayed when using the ps -ef command....

  • Peter Lewis-91679
    Peter Lewis-91679 Rank 3 - Community Apprentice

    Yes, the shell script contains this command:

      java oracle.apps.xdo.oa.util.XDOLoader \

           DOWNLOAD \

           -DB_USERNAME apps \

           -DB_PASSWORD ${PASS} \

           -LOB_TYPE DATA_TEMPLATE \

           -APPS_SHORT_NAME ${APP} \

           -LOB_CODE "${PROG}" \

           -LCT_FILE $XDO_TOP/patch/115/import/xdotmpl.lct \

           -LOG_FILE ${PROG// /_}_rt_template.log \

           -JDBC_CONNECTION ${JDBC_CONN}

    When we use ps -efx we see this:

    appltest@myhost:/home/appltest $ ps -efx | grep XDOLoader

    appltest  7868  7232  0 09:46:21 pts/0     0:00 grep XDOLoader

    appltest  7866  7304  7 09:46:21 pts/1     0:00 /u01/apps/tech_st/10.1.3/....../java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD  -DB_USERNAME apps -DB_PASSWORD ap55p455w0rd -LOB_TYPE DATA_TEMPLATE -APPS_SHORT_NAME FND -LOB_CODE FND_TEST -LCT_FILE /u01/apps/apps_st/appl/xdo/12.0.0/patch/115/import/xdotmpl.lct -LOG_FILE FND_TEST_dt_template.log -JDBC_CONNECTION (DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=1234)))(CONNECT_DATA=(SERVICE_NAME=DB_TEST)))

    * This is not the real password.

  • Peter Lewis-91679
    Peter Lewis-91679 Rank 3 - Community Apprentice

    Hi Brajesh,

    Thanks for the swift answer, but this is not a solution to the problem I described.  The password is revealed using ps -ef | grep XDOLoader when the loader process is running. I want to hide this information after the process has started.