Skip Headers
Oracle® Identity Manager Connector Guide for UNIX
Release 11.1.1

Part Number E17694-04
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

C Sample Scripts for Adding Custom Attributes for Provisioning

This appendix provides sample scripts for the procedure described in Section 4.4, "Adding Custom Attributes for Provisioning."

The sample scripts are as follows:

C.1 Original Sample Script

The original CreateNativeUser.txt script is as follows:

if [ ! -z "$__UID__" ] ;then
    __NAME__=$__UID__;
else
    __NAME__=$__NAME__;
fi;
if id $__NAME__ > /dev/null 2>&1 ;then 
    echo "User already exists";
else 
    globalVar="true";
    if [ ! -z $SECONDARYGROUP ] ;then 
        command="$command -G $SECONDARYGROUP";
    fi;
 
    homedir="";
    if [ ! -z $HOME_DIR ] ;then 
        homedir=$HOME_DIR;
    else 
        if [ ! -z $defaultHomeBaseDir ] ;then 
            homedir=$defaultHomeBaseDir;
        fi;
    fi;
    if [ ! -z $homedir ] ;then 
        checkHomeBaseDir=$(test -d $homedir && echo "true" || echo "false");
        if [ $checkHomeBaseDir == "true" ]; then 
            command="$command -d $homedir/$__NAME__";
        else 
            globalVar="false";
            echo "useradd: cannot create directory $homedir/$__NAME__";
        fi;
    fi;
    if [ ! -z $EXP_DATE ] ;then 
        command="$command -e $EXP_DATE";
    fi;
    if [ ! -z $INACTIVE ] ;then 
        command="$command -f $INACTIVE";
    fi;
    if [ ! -z $PGROUP ] ;then 
        grp=$PGROUP;
    else 
        if [ ! -z $defaultPriGroup ] ;then 
            grp=$defaultPriGroup;
        fi;
    fi;
    if [ ! -z $grp ] ;then 
        getent group $grp;
        if [ $? -ne 0 ] ;then 
            echo "PGROUP=$grp";
            echo "Invalid primary group :- $grp";
            globalVar="false";
        else 
            command="$command -g $grp";
        fi;
    fi;
    if [ ! -z $CREATE_HOME_DIR ] && [  $CREATE_HOME_DIR == "true" ] ;then 
        command="$command -m";
            if [ ! -z $SKEL_DIR ] ;then 
                command="$command -k $SKEL_DIR";
            fi;
    fi;
    if [ ! -z $CREATE_USER_GROUP ] && [  $CREATE_USER_GROUP == "false" ] ;then 
        command="$command -n";
    fi;
    if [ ! -z $USER_SHELL ] ;then 
        command="$command -s $USER_SHELL";
    else 
        if [ ! -z $defaultShell ] ;then 
            command="$command -s $defaultShell";
        fi;
    fi;
    if [ ! -z $USID ] && [  $USID -gt 0 ] ;then 
        command="$command -u $USID";
        if [ ! -z $UNIQUE_USID ] && [  $UNIQUE_USID == "false" ] ;then 
            command="$command -o";
        fi;
    fi;
    if [ $globalVar == "true" ] ;then 
        echo "useradd $command $__NAME__";
        useradd $command $__NAME__;
        if [ $? -eq 0 ]; then echo "SUCCESS";
            if [ ! -z "$COMMENTS" ] ; then echo "usermod -c \""$COMMENTS"\" $__NAME__";
                usermod -c "$COMMENTS" $__NAME__; 
            fi;
        fi;
    fi;
fi;
unset bar COMMENTS HOME_DIR PGROUP grp EXP_DATE SKEL_DIR UNIQUE_USID __NAME__ __UID__ CREATE_HOME_DIR;
unset USER_SHELL USID CREATE_USER_GROUP INACTIVE SECONDARYGROUP command globalVar name;
unset defaultHomeBaseDir homedir checkHomeBaseDir grp defaultPriGroup;

C.2 Updated Sample Script

The CreateNativeUser.txt script after updating lines 76, 77, 78, and 91 (in bold) is as follows:

if [ ! -z "$__UID__" ] ;then
    __NAME__=$__UID__;
else
    __NAME__=$__NAME__;
fi;
if id $__NAME__ > /dev/null 2>&1 ;then 
    echo "User already exists";
else 
    globalVar="true";
    if [ ! -z $SECONDARYGROUP ] ;then 
        command="$command -G $SECONDARYGROUP";
    fi;
 
    homedir="";
    if [ ! -z $HOME_DIR ] ;then 
        homedir=$HOME_DIR;
    else 
        if [ ! -z $defaultHomeBaseDir ] ;then 
            homedir=$defaultHomeBaseDir;
        fi;
    fi;
    if [ ! -z $homedir ] ;then 
        checkHomeBaseDir=$(test -d $homedir && echo "true" || echo "false");
        if [ $checkHomeBaseDir == "true" ]; then 
            command="$command -d $homedir/$__NAME__";
        else 
            globalVar="false";
            echo "useradd: cannot create directory $homedir/$__NAME__";
        fi;
    fi;
    if [ ! -z $EXP_DATE ] ;then 
        command="$command -e $EXP_DATE";
    fi;
    if [ ! -z $INACTIVE ] ;then 
        command="$command -f $INACTIVE";
    fi;
    if [ ! -z $PGROUP ] ;then 
        grp=$PGROUP;
    else 
        if [ ! -z $defaultPriGroup ] ;then 
            grp=$defaultPriGroup;
        fi;
    fi;
    if [ ! -z $grp ] ;then 
        getent group $grp;
        if [ $? -ne 0 ] ;then 
            echo "PGROUP=$grp";
            echo "Invalid primary group :- $grp";
            globalVar="false";
        else 
            command="$command -g $grp";
        fi;
    fi;
    if [ ! -z $CREATE_HOME_DIR ] && [  $CREATE_HOME_DIR == "true" ] ;then 
        command="$command -m";
            if [ ! -z $SKEL_DIR ] ;then 
                command="$command -k $SKEL_DIR";
            fi;
    fi;
    if [ ! -z $CREATE_USER_GROUP ] && [  $CREATE_USER_GROUP == "false" ] ;then 
        command="$command -n";
    fi;
    if [ ! -z $USER_SHELL ] ;then 
        command="$command -s $USER_SHELL";
    else 
        if [ ! -z $defaultShell ] ;then 
            command="$command -s $defaultShell";
        fi;
    fi;
    if [ ! -z $USID ] && [  $USID -gt 0 ] ;then 
        command="$command -u $USID";
        if [ ! -z $UNIQUE_USID ] && [  $UNIQUE_USID == "false" ] ;then 
            command="$command -o";
        fi;
    fi;
    if [ ! -z $__GID__ ] ;then 
        command="$command -g $__GID__";
    fi;
    if [ $globalVar == "true" ] ;then 
        echo "useradd $command $__NAME__";
        useradd $command $__NAME__;
        if [ $? -eq 0 ]; then echo "SUCCESS";
            if [ ! -z "$COMMENTS" ] ; then echo "usermod -c \""$COMMENTS"\" $__NAME__";
                usermod -c "$COMMENTS" $__NAME__; 
            fi;
        fi;
    fi;
fi;
unset bar COMMENTS HOME_DIR PGROUP grp EXP_DATE SKEL_DIR UNIQUE_USID __NAME__ __UID__ CREATE_HOME_DIR;
unset USER_SHELL USID CREATE_USER_GROUP INACTIVE SECONDARYGROUP command globalVar name;
unset defaultHomeBaseDir homedir checkHomeBaseDir grp defaultPriGroup __GID__;