com.waveset.adapter
Class HPUXResourceAdapter
java.lang.Object
com.waveset.adapter.ResourceAdapterBase
com.waveset.adapter.GenericScriptResourceAdapter
com.waveset.adapter.UnixResourceAdapter
com.waveset.adapter.SVIDResourceAdapter
com.waveset.adapter.HPUXResourceAdapter
- All Implemented Interfaces:
- ResourceAdapter, ResourcePolicyTimeouts
- public class HPUXResourceAdapter
- extends SVIDResourceAdapter
Resource adapter for HP-UX 11.0 (should work on 10.20 and 11i).
Supports a fixed set of user attributes, specified in
SVIDResourceAdapter.paramToFlagMap. They are:
uid, group, dir, shell, comment, new_logname, inactive,
expire, authorization, profile, role. Meanings can be found
in the usermod(1M) man page.
The HP-UX usermod/useradd/userdel commands use flags (-u, -g, etc) to
specify the user attributes. To make it easier for the administrator,
these flags have been mapped in a hashmap
SVIDResourceAdapter.paramToFlagMap.
Fields inherited from class com.waveset.adapter.SVIDResourceAdapter |
AA_LAST_LOGIN_TIME, allowedNISAttributes, DISPLAY_PASSWORD, DISPLAY_USER, grpMutexFile, grpPidFile, paramToFlagMap, PASSWD_CLEAR, PASSWD_FORCE_CHANGE, PASSWD_LOCK, PASSWD_MAX, PASSWD_MIN, PASSWD_WARN, pwdMutexFile, pwdPidFile, RA_LOGIN_SHELL_PROMPT, RA_MAKE_DIR, RA_NISSHADOW, RA_ROOT_PASSWORD, RA_ROOT_SHELL_PROMPT, RA_ROOT_USER, RA_SKEL_DIR, RESOURCE_LOGIN_MODULE, tmpGrpMutexFile, tmpPwdMutexFile, USER_AUTHORIZATION, USER_COMMENT, USER_DIR, USER_EXPIRE, USER_GROUP, USER_INACTIVE, USER_NEW_LOGNAME, USER_PROFILE, USER_ROLE, USER_SECONDARY_GROUP, USER_SHELL, USER_TIME_LAST_LOGIN, USER_UID |
Fields inherited from class com.waveset.adapter.UnixResourceAdapter |
CMD_AWK, CMD_CAT, CMD_CHMOD, CMD_CHOWN, CMD_CP, CMD_CUT, CMD_DIFF, CMD_ECHO, CMD_GREP, CMD_GROUPADD, CMD_GROUPDEL, CMD_GROUPMOD, CMD_LAST, CMD_LISTUSERS, CMD_LOGINS, CMD_LS, CMD_MAKE, CMD_MV, CMD_PASSWD, CMD_RM, CMD_SED, CMD_SLEEP, CMD_SORT, CMD_SUDO, CMD_TAIL, CMD_TOUCH, CMD_USERADD, CMD_USERDEL, CMD_USERMOD, CMD_WHICH, CMD_YPCAT, CMD_YPMATCH, CMD_YPPASSWD, loginPass, loginShellPrompt, loginUser, ONE_TAIL, RA_ALT_ROOT_SHELL_PROMPT, RA_DEL_HOME_DIR, RA_HOME_BASEDIR, RA_NISDIR, RA_NISPWDDIR, RA_NISSRCDIR, RA_SUDO_AUTH, RA_SYS_DB_TYPE, removeAction, rootPass, rootPromptCaptureToken, rootPromptCaptureTokenOrig, rootPromptWaitToken, rootPromptWaitTokenOrig, rootShellPrompt, rootShellPromptOrig, rootUser, sudoResetCmd, sudoResetToken, sudoStartCmd, sudoStartToken, wavesetRootPrompt, wavesetRootPromptCaptureToken, wavesetRootPromptWaitToken |
Fields inherited from class com.waveset.adapter.ResourceAdapterBase |
_cache, _context, _excludedAccountsRule, _excludedAccountsRuleInited, _listAllObjectsAttrParse, _listAllObjectsAttrParseName, _listUserAttrParse, _listUserAttrParseName, _listUserGroupsAttrParse, _listUserGroupsAttrParseName, _resource, _thread, _trace, displayInfoCode, RA_BLOCKCOUNT, RA_LOGIN_ACTION, RA_LOGOFF_ACTION, RA_MULTI_VALUED_ATTRS, RA_TEST_MODE |
Fields inherited from interface com.waveset.adapter.ResourceAdapter |
CHANGE_PASSWORD_LOCATION, DISABLE, ENABLE, EXPIRE_PASSWORD, GUID, IGNORE_ATTR, NEW_ACCOUNT_ID, OP_DAYS_INACTIVE, OP_DISABLED, OP_DORMANT, OP_EXPIRED, OP_EXPIREDPWD, OP_INACTIVE, OP_LOCKED, OP_NO_PASSWORD_SET, OP_NOOWNERSHIP, OP_NOPASSWORDREQ, OP_NUMINACTIVEDAYS, OP_NUMPWDAYS, OP_PWNUMDAYS, RA_BASE_CTX, RA_DISPLAY_NAME_ATTR, RA_NEW_OBJECT_ID, RA_NEW_OBJECT_NAME, RA_OBJECT_ATTRIBUTES, RA_OBJECT_CLASS, RA_OBJECT_ID, RA_OBJECT_TYPE, RA_OP_TYPE, RA_RENAME_OP, RA_REQUESTOR, RA_SAVEAS_OP, RA_SEARCH_ATTRIBUTE_NAMES, RA_SEARCH_ATTRS_TO_GET, RA_SEARCH_CONTEXT, RA_SEARCH_FILTER, RA_SEARCH_RUN_AS_PASSWORD, RA_SEARCH_RUN_AS_USER, RA_SEARCH_SCOPE, RA_SEARCH_SCOPE_OBJECT, RA_SEARCH_SCOPE_ONE_LEVEL, RA_SEARCH_SCOPE_SUBTREE, RA_SEARCH_TIME_LIMIT, RESET_PASSWORD, SYSTEM_ATTRIBUTES, UNLOCK, WS_USER_PASSWORD |
Method Summary |
protected void |
addLastLogin(java.lang.String lastResult,
WSUser user)
|
protected void |
addNISMake(java.lang.String target,
Script script)
|
protected void |
addNISShellUpdate(java.lang.String account,
java.lang.String shell,
java.lang.String password,
Script script)
|
protected java.lang.String |
constructUseraddParameters(WSUser user)
Override because HPUX handles the uid attribute in a special way. |
Resource |
createPrototypeResource()
Non-static version of staticCreatePrototypeResource() |
protected Script |
getCreateNativeUserScript(WSUser user,
java.lang.String accountID,
java.lang.String password)
Generates a script that will create an account for the passed user
on the resource. |
protected Script |
getCreateNISUserScript(WSUser user,
java.lang.String accountID,
java.lang.String password)
|
protected java.util.List |
getDefaultShellsList()
|
java.lang.String |
getLoginPasswordAttrName()
|
java.lang.String |
getLoginUserAttrName()
|
protected java.lang.String |
getMutexAcquireScript(java.lang.String uidMutexFile,
java.lang.String tmpUidMutexFile,
java.lang.String pidFoundFile)
|
protected Script |
getNativeUserScript(WSUser user,
java.lang.String accountID)
Returns a script that sends commands to check for existence
of the passed user on the resource. |
protected java.util.ArrayList |
getReadOnlyTestCmds()
Dynamic list of commands to test for permissions to execute. |
protected java.util.ArrayList |
getRequiredNISCmds()
The list of required file commands for all unix
adapters. |
protected java.util.ArrayList |
getRequiredUserCmds()
The list of required user commands for all unix
adapters. |
protected Script |
getShellsScript(Script script)
The default command that will return the shells from a Unix system. |
protected java.lang.String |
getUid(WSUser user)
|
protected Script |
getUpdateNativeUserScript(WSUser user,
java.lang.String accountID,
java.lang.String newName,
java.lang.String password)
Generates a script that will create an account for the passed user
on the resource. |
protected Script |
getUpdateNISUserScript(WSUser user,
java.lang.String accountID,
java.lang.String newName,
java.lang.String password)
|
protected void |
getUpdateUserResult(WSUser user,
CaptureList captureList,
WavesetResult result)
Analyzes the capture list generated by executing the update user
script on the scripted connection. |
protected WSUser |
getUserResult(CaptureList captureList,
WSUser targetUser)
Analyzes the capture list generated by executing the get user
script on the scripted connection. |
protected boolean |
isAllowableUserAttribute(java.lang.String name)
Reports whether a given attribute name is legal on the resource. |
static Resource |
staticCreatePrototypeResource()
Create prototype resource
We start with the generic SVID prototype XML and modify it to be
specific to HP-UX (if you change something here, you probably
need to make the change in the other classes that extend
SVIDResourceAdapter. |
Methods inherited from class com.waveset.adapter.SVIDResourceAdapter |
addAttributeIfMapped, addNISPasswordUpdate, addNISShellUpdate, buildUser, buildUser, buildUser, changeGroupMembers, constructNISUserAttributeParameters, constructUserAttributeParameter, constructUserPasswordParameters, createAcctAttrType, getAccountIteratorResult, getAccountIteratorScript, getAccountIteratorScript, getAccountIteratorScript, getAuthenticateResult, getAuthenticateScript, getBlockAccountIteratorScript, getCheckCreateAccountResult, getCheckCreateAccountScript, getCheckDeleteAccountResult, getCheckDeleteAccountScript, getCheckUpdateAccountResult, getCheckUpdateAccountScript, getConnectionTestResult, getConnectionTestScript, getConnectionType, getCreateGroupResult, getCreateNativeGroupScript, getCreateNISGroupScript, getCreateUserResult, getDeleteNativeGroupScript, getDeleteNativeUserScript, getDeleteNISGroupScript, getDeleteNISUserScript, getDeleteUserResult, getDisableUserResult, getDisableUserScript, getEnableUserResult, getEnableUserScript, getFeatures, getGetGroupResult, getGetGroupScript, getListAllObjectsResult, getListAllObjectsScript, getLoginScript, getLogoutScript, getMutexReleaseScript, getNISDir, getNISNewGidScript, getNISNewUidScript, getNISPwddir, getNISUserResult, getNISUserScript, getRemoveGroupTmpFiles, getRemovePwdTmpFiles, getRenameGroupResult, getRenameGroupScript, getScanningResult, getScanningScript, getTestConnectionResult, getTestConnectionScript, getUpdateGroupResult, getUpdateNativeGroupScript, getUpdateNISGroupScript, getUpdateUserScript, getUserScript, isNISShadow, startConnection, staticCreatePrototypeResource, supportsAccountDisable, supportsResourceAccount |
Methods inherited from class com.waveset.adapter.UnixResourceAdapter |
addActionScript, addResultItem, addScriptArguments, addSudoReset, addSudoStart, authenticate, createResourceAttr, divideString, escape, getAccountActionResult, getAccountActionScript, getAccountIterator, getAccountIterator, getActionResult, getActionScript, getCaptureItem, getCreateGroupScript, getCreateObjectResult, getCreateObjectScript, getCreateUserResult, getCreateUserScript, getCreateUserScript, getDeleteGroupScript, getDeleteObjectScript, getDeleteUserScript, getDeleteUserScript, getGetObjectResult, getGetObjectScript, getGetUserResult, getGetUserScript, getListObjectsResult, getListObjectsScript, getReadOnlyNISTestCmds, getRenameObjectResult, getRenameObjectScript, getRenameUserResult, getRenameUserScript, getRequiredCmds, getRequiredFileCmds, getRequiredGroupCmds, getResourceAccounts, getScriptedConnection, getTestConfigurationResult, getTestConfigurationScript, getUpdateGroupScript, getUpdateObjectResult, getUpdateObjectScript, getUpdateUserResult, getUpdateUserScript, getUpdateUserScript, getWhichScript, init, isNIS, quoteString, replaceSpaces, setWavesetPrompt, stopConnection, stopConnection, sudoAuthorization, supportsActions, supportsCaseInsensitiveAccountIds, supportsExcludedAccounts, testConnection |
Methods inherited from class com.waveset.adapter.GenericScriptResourceAdapter |
checkCreateAccount, checkDeleteAccount, checkUpdateAccount, constructUserAttributeParameters, constructUserAttributeParameters, createObject, deleteObject, getAccountAttributeFromMapName, getAccountAttributes, getCapture, getDeleteObjectResult, getObject, getUpdateUserResult, getUser, getWaitFor, getWaitForIgnoreCase, listAllObjects, listObjects, lookupAndRunAction, realCreate, realDelete, realDisable, realEnable, realUpdate, renameObject, reverseMapAttr, reverseMapAttr, reverseMapMultiAttr, run, runAction, runAction, runAfterAction, runBeforeAction, scan, testConfiguration, updateObject, updateResourceAccount, wellFormedUserAttributeName |
Methods inherited from class com.waveset.adapter.ResourceAdapterBase |
checkForNoPasswordInSchema, checkSyntax, createAccount, createAccounts, createIdentity, deleteAccount, deleteAccount, deleteAccounts, disableAccount, disableAccounts, dnsEqual, dnsEqual, enableAccount, enableAccounts, executeResourceAttributeJavascriptAction, fillInResourceInfo, fillInResourceInfo, getAccountIterator, getAction, getActionNotFoundErrorMessage, getActionNotFoundMessage, getActionRunAsPassword, getActionRunAsUser, getActionTimeout, getActionType, getAdapter, getAdapter, getAdapter, getAdapterProxy, getAdapterProxy, getAllAccounts, getAttrNameFromMapName, getAttrNameFromMapName, getAttrParse, getAttrTypeFromMapName, getAttrTypeFromMapName, getAUserName, getBaseContextAttrName, getBaseContextObject, getBaseContexts, getBlockSize, getContext, getExcludedAccountsRule, getIdentity, getListAllObjectsAttrParse, getListUserAttrParse, getListUserGroupsAttrParse, getOptionalBooleanResAttrVal, getOptionalBooleanResAttrVal, getOptionalEncryptedResAttrVal, getOptionalResAttrVal, getOptionalStringResAttrVal, getRequiredResAttr, getRequiredResAttr, getRequiredResAttrVal, getRequiredResAttrVal, getRequiredResAttrVals, getRequiredUserAttributeNames, getResAttrValActionOnUser, getResAttrVals, getResource, getResourceInfo, getResourceObjectAttrValNameAttr, getResourceObjectClassAttr, getResourceObjectTypePrefix, getSchemaMap, getUser, getWSAttrByMapName, getWSAttrByMapName, getWSAttrFromMap, handleActionResult, handleJavascriptActionResult, isAccountAttributeSecret, isExcludedAccount, isExcludedAccount, isFeatureEnabled, isSupported, isTestMode, listAllObjects, listObjects, listObjectsOfType, lookupAction, lookupAction, lookupActions, namesEqual, objectClassesMatchType, println, restoreResourceObjectClassAttr, run, runResourceAttributeJavascriptAction, setCache, setContext, setDisabled, setFromResource, setResource, setResourceObjectClassAttr, setResourceOptionAttrs, startConnectionWrapper, supportsAccountActions, supportsContainerObjectTypes, supportsScanning, updateAccount, updateAccounts, updateResourceIdentity, vmStoreBoot, vmStoreGet, vmStoreInit, vmStoreLatch, vmStorePut |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.waveset.adapter.ResourceAdapter |
checkCreateAccount, checkDeleteAccount, checkUpdateAccount, createAccount, createAccounts, createIdentity, createObject, deleteAccount, deleteAccount, deleteAccounts, deleteObject, disableAccount, disableAccounts, enableAccount, enableAccounts, getAccountAttributes, getAccountIterator, getAllAccounts, getBaseContextAttrName, getBaseContextObject, getBaseContexts, getObject, getResource, getUser, getUser, isSupported, listAllObjects, listAllObjects, listObjects, listObjects, listObjectsOfType, namesEqual, run, run, scan, setCache, setContext, setResource, setResourceObjectClassAttr, supportsContainerObjectTypes, supportsScanning, testConfiguration, updateAccount, updateAccounts, updateObject, updateResourceAccount |
code_id
public static final java.lang.String code_id
- See Also:
- Constant Field Values
RESOURCE_NAME
public static final java.lang.String RESOURCE_NAME
- See Also:
- Constant Field Values
RESTYPE_DISPLAY_NAME
public static final java.lang.String RESTYPE_DISPLAY_NAME
- See Also:
- Constant Field Values
CLASS_NAME
public static final java.lang.String CLASS_NAME
- See Also:
- Constant Field Values
RESOURCE_USER_FORM
public static final java.lang.String RESOURCE_USER_FORM
- See Also:
- Constant Field Values
LOGIN_USER
public static final java.lang.String LOGIN_USER
- See Also:
- Constant Field Values
LOGIN_PASSWORD
public static final java.lang.String LOGIN_PASSWORD
- See Also:
- Constant Field Values
DEFAULT_SHELL
protected static final java.lang.String DEFAULT_SHELL
- See Also:
- Constant Field Values
DEFAULT_SHELLS
public static final java.lang.String[] DEFAULT_SHELLS
HPUXResourceAdapter
public HPUXResourceAdapter()
- No argument constructor.
HPUXResourceAdapter
public HPUXResourceAdapter(Resource res,
ObjectCache cache)
- Constructor.
staticCreatePrototypeResource
public static Resource staticCreatePrototypeResource()
throws WavesetException
- Create prototype resource
We start with the generic SVID prototype XML and modify it to be
specific to HP-UX (if you change something here, you probably
need to make the change in the other classes that extend
SVIDResourceAdapter.
- Throws:
WavesetException
createPrototypeResource
public Resource createPrototypeResource()
throws WavesetException
- Non-static version of staticCreatePrototypeResource()
- Specified by:
createPrototypeResource
in interface ResourceAdapter
- Specified by:
createPrototypeResource
in class SVIDResourceAdapter
- Throws:
WavesetException
getLoginUserAttrName
public java.lang.String getLoginUserAttrName()
- Specified by:
getLoginUserAttrName
in class SVIDResourceAdapter
getLoginPasswordAttrName
public java.lang.String getLoginPasswordAttrName()
- Specified by:
getLoginPasswordAttrName
in class SVIDResourceAdapter
isAllowableUserAttribute
protected boolean isAllowableUserAttribute(java.lang.String name)
- Reports whether a given attribute name is legal on the resource.
- Overrides:
isAllowableUserAttribute
in class SVIDResourceAdapter
constructUseraddParameters
protected java.lang.String constructUseraddParameters(WSUser user)
- Override because HPUX handles the uid attribute in a special way. This differs from
the base implementation only in that uid is ignored.
- Overrides:
constructUseraddParameters
in class SVIDResourceAdapter
getUid
protected java.lang.String getUid(WSUser user)
addNISMake
protected void addNISMake(java.lang.String target,
Script script)
throws WavesetException
- Overrides:
addNISMake
in class SVIDResourceAdapter
- Throws:
WavesetException
addNISShellUpdate
protected void addNISShellUpdate(java.lang.String account,
java.lang.String shell,
java.lang.String password,
Script script)
getCreateNativeUserScript
protected Script getCreateNativeUserScript(WSUser user,
java.lang.String accountID,
java.lang.String password)
throws WavesetException
- Generates a script that will create an account for the passed user
on the resource. The script can be executed on a ScriptedConnection.
Should NOT login or logout.
This overrides the SVIDResourceAdapter implementation only so that
we can add in the UID parameters since we treat it special on update.
XXXDLC - need to re-work the UID stuff to make it more generic.
- Overrides:
getCreateNativeUserScript
in class SVIDResourceAdapter
- Throws:
WavesetException
getCreateNISUserScript
protected Script getCreateNISUserScript(WSUser user,
java.lang.String accountID,
java.lang.String password)
throws WavesetException
- Overrides:
getCreateNISUserScript
in class SVIDResourceAdapter
- Throws:
WavesetException
getUpdateNativeUserScript
protected Script getUpdateNativeUserScript(WSUser user,
java.lang.String accountID,
java.lang.String newName,
java.lang.String password)
throws WavesetException
- Generates a script that will create an account for the passed user
on the resource. The script can be executed on a ScriptedConnection.
Should NOT login or logout.
Unlike Solaris, but like AIX, the HP-UX usermod command will fail
if passed a UID that is not different than the existing UID, so we
have to special case this.
If you make changes here, check to see if the changes should be
applied to implementations in the parent class (SVIDResourceAdapter)
or its other subclasses.
- Overrides:
getUpdateNativeUserScript
in class SVIDResourceAdapter
- Throws:
WavesetException
getUpdateNISUserScript
protected Script getUpdateNISUserScript(WSUser user,
java.lang.String accountID,
java.lang.String newName,
java.lang.String password)
throws WavesetException
- Overrides:
getUpdateNISUserScript
in class SVIDResourceAdapter
- Throws:
WavesetException
getUpdateUserResult
protected void getUpdateUserResult(WSUser user,
CaptureList captureList,
WavesetResult result)
throws WavesetException
- Analyzes the capture list generated by executing the update user
script on the scripted connection. Throws if the capture list
indicates failure. The executing script may throw on failure
also.
- Overrides:
getUpdateUserResult
in class SVIDResourceAdapter
- Throws:
WavesetException
getNativeUserScript
protected Script getNativeUserScript(WSUser user,
java.lang.String accountID)
throws WavesetException
- Returns a script that sends commands to check for existence
of the passed user on the resource. Upon execution, captures
necessary text for analysis by getUserResult method.
- Overrides:
getNativeUserScript
in class SVIDResourceAdapter
- Throws:
WavesetException
getUserResult
protected WSUser getUserResult(CaptureList captureList,
WSUser targetUser)
throws WavesetException
- Analyzes the capture list generated by executing the get user
script on the scripted connection. Returns null if the capture list
indicates failure. Otherwise returns the new user. Should
probably be called getGetUserResult for consistency, but that
would look funny.
- Overrides:
getUserResult
in class SVIDResourceAdapter
- Throws:
WavesetException
addLastLogin
protected void addLastLogin(java.lang.String lastResult,
WSUser user)
- Overrides:
addLastLogin
in class SVIDResourceAdapter
getMutexAcquireScript
protected java.lang.String getMutexAcquireScript(java.lang.String uidMutexFile,
java.lang.String tmpUidMutexFile,
java.lang.String pidFoundFile)
- Overrides:
getMutexAcquireScript
in class SVIDResourceAdapter
getReadOnlyTestCmds
protected java.util.ArrayList getReadOnlyTestCmds()
- Description copied from class:
UnixResourceAdapter
- Dynamic list of commands to test for permissions to execute.
- Overrides:
getReadOnlyTestCmds
in class UnixResourceAdapter
getRequiredUserCmds
protected java.util.ArrayList getRequiredUserCmds()
- Description copied from class:
UnixResourceAdapter
- The list of required user commands for all unix
adapters. Override this methods to add or remove
commands for a particular adapter.
- Overrides:
getRequiredUserCmds
in class UnixResourceAdapter
- Returns:
- Returns a list of require commands to
create, update, and delete a user.
getRequiredNISCmds
protected java.util.ArrayList getRequiredNISCmds()
- Description copied from class:
UnixResourceAdapter
- The list of required file commands for all unix
adapters. Override this methods to add or remove
commands for a particular adapter.
- Overrides:
getRequiredNISCmds
in class UnixResourceAdapter
- Returns:
- Returns a list of require commands to
perform operations on files within the resource.
getDefaultShellsList
protected java.util.List getDefaultShellsList()
- Overrides:
getDefaultShellsList
in class UnixResourceAdapter
getShellsScript
protected Script getShellsScript(Script script)
- The default command that will return the shells from a Unix system.
- Overrides:
getShellsScript
in class UnixResourceAdapter
- Returns:
- a String that is the command that will return a list of shells
for a system.