dmadmin - TUXEDO System/T Domain Administration Command Interpreter
dmadmin [ -c ]
dmadmin is an interactive command interpreter used for the administration of domain gateway groups defined for a particular TUXEDO System/T application. dmadmin can operate in two modes: administration mode and configuration mode.
dmadmin enters administration mode when called with no parameters. This is the default. In this mode, dmadmin can be run on any active node (excluding workstations) within an active application. Application administrators can use this mode to obtain or change parameters on any active domain gateway group. Application administrators may also use this mode to create, destroy, or reinitialize the DMTLOG for a particular local domain. In this case, the domain gateway group associated with that local domain must not be active, and dmadmin must be run on the machine assigned to the corresponding gateway group.
dmadmin enters configuration mode when it is invoked with the -c option or when the config subcommand is invoked. Application administrators can use this mode to update or add new configuration information to the binary version of the domain configuration file (BDMCONFIG).
dmadmin requires the use of the DOMAIN administrative server (DMADM) for the administration of the BDMCONFIG file and the gateway administrative server (GWADM) for the re-configuration of active DOMAIN gateway groups (there is one GWADM per gateway group).
Once dmadmin has been invoked, commands may be entered at the prompt (">") according to the following syntax: command [arguments]
Several commonly occurring arguments can be given default values via the default command. Commands that accept parameters set via the default command check default to see if a value has been set. If one hasn't, an error message is returned.
Once set, a default value remains in effect until the session is ended, unless changed by another default command. Defaults may be overridden by entering an explicit value on the command line, or unset by entering the value "*". The effect of an override lasts for a single instance of the command.
Output from dmadmin commands is paginated according to the pagination command in use (see the paginate subcommand below).
Commands may be entered either by their full name or their abbreviation (shown in parentheses) followed by any appropriate arguments. Arguments appearing in square brackets, [], are optional; those in curly braces, {}, indicate a selection from mutually exclusive options. Note that for many commands local_domain_name is a required argument, but note also that it can be set with the default command.
The following commands are available in administration mode:
The dmadmin command enters configuration mode when executed with the -c option or when the config subcommand is used. In this mode, dmadmin allows run-time updates to the BDMCONFIG file. dmadmin manages a buffer that contains input field values to be added or retrieved, and displays output field values and status after each operation completes. The user can update the input buffer using any available text editor.
dmadmin first prompts for the desired section followed by a prompt for the desired operation.
The prompt for the section is as follows:
Sections: 1) LOCAL_DOMAINS 2) REMOTE_DOMAINS 3) LOCAL_SERVICES 4) REMOTE_SERVICES 5) ROUTING 6) ACCESS_CONTROL 7) PASSWORDS 8) TDOMAIN 9) OSITP 10) QUIT Enter Section [1]:
The number of the default section appears in square brackets at the end of the prompt. You can accept the default by pressing RETURN or ENTER. To select another section enter its number, then press RETURN or ENTER.
dmadmin then prompts for the desired operation.
Operations: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) DELETE 7) NEW_SECTION 8) QUIT Enter Operation [1]:
The number of the default operation is printed in square brackets at the end of the prompt. Pressing RETURN or ENTER selects this option. To select another operation enter its number, then press RETURN or ENTER.
The currently supported operations are:
For configuration operations, the effective user identifier must match the System/T administrator user identifier (UID) for the machine on which this program is executed. When a record is updated or added, all default values and validations used by dmloadcf(1) are enforced.
dmadmin then prompts whether or not to edit the input buffer. Enter editor to add/modify fields [n]?Entering a value of y will put the input buffer into a temporary file and execute the text editor. The environment variable EDITOR is used to determine which editor to be used; the default is "ed". The input format is in field name/field value pairs and is described in the CONFIGURATION INPUT FORMAT section below. The field names associated with each DMCONFIG section are listed in tables in the subsections below. The semantics of the fields and associated ranges, default values, restrictions, etc, are described in dmconfig(5). In most cases, the field name is the same as the KEYWORD in the DMCONFIG file, prefixed with "TA_". When the user completes editing the input buffer, dmadmin reads it. If more than one line occurs for a particular field name, the first occurrence is used and other occurrences are ignored. If any errors occur, a syntax error will be printed and dmadmin prompts whether or not to correct the problem. Enter editor to correct?
If the problem is not corrected (response n), then the input buffer will contain no fields. Otherwise, the editor is executed again.
Finally, dmadmin asks if the operation should be done. Perform operation [y]?
When the operation completes, dmadmin prints the return value as in Return value TAOKfollowed by the output buffer fields. The process then begins again with a prompt for the section. All output buffer fields are available in the input buffer unless the buffer is cleared.
Entering break at any time restarts the interaction at the prompt for the section.
When "QUIT" is selected, dmadmin prompts for authorization to create a backup ASCII version of the configuration: Unload BDMCONFIG file into ASCII backup [y]?If a backup is selected, dmadmin prompts for the file name. Backup filename [DMCONFIG]?On success, dmadmin indicates that a backup was created, otherwise an error is printed.
Input packets consist of lines formatted as follows: fldname<tabs>fldval
The field name is separated from the field value by one or more tabs (or spaces).
Lengthy field values can be continued on the next line by having the continuation line begin with one or more tabs (which are dropped when read back into dmadmin).
Empty lines consisting of a single newline character are ignored.
To enter an unprintable character in the field value or to start a field value with a tab, use a backslash followed by the two-character hexadecimal representation of the desired character (see ASCII(5) in a UNIX reference manual). A space, for example, can be entered in the input data as \20. A backslash can be entered using two backslash characters. dmadmin recognizes all input in this format, but its greatest usefulness is for non-printing characters.
The following are general limitations of the dynamic domain re-configuration capability:
The following sections describe, for each DMCONFIG section, what the field identifiers are associated with each DMCONFIG field, what the field type of the identifier is, and when the field can be updated. All applicable field values are returned with the retrieval operations. Fields that are allowed and/or required for adding a record are described in dmconfig(5). Fields indicated below as key are key fields that are used to uniquely identify a record within section. These key fields are required to be in the input buffer when updates are done and are not allowed to be updated dynamically. The Update column indicates when a field can be updated. The possible values are:
The following table lists the fields in the *DM_LOCAL_DOMAINS section.
*DM_LOCAL_DOMAINS SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_LDOM | string | NoGW | key |
TA_AUDITLOG | string | Yes | |
TA_BLOCKTIME | numeric | Yes | |
TA_DOMAINID | string | NoGW | |
TA_DMTLOGDEV | string | NoGW | |
TA_DMTLOGNAME | string | NoGW | |
TA_DMTLOGSIZE | numeric | NoGW | |
TA_GWGRP | string | NoGW | |
TA_MAXDATALEN | numeric | Yes | |
TA_MAXRDOM | numeric | Yes | |
TA_MAXRDTRAN | numeric | NoGW | |
TA_MAXTRAN | numeric | NoGW | |
TA_SECURITY | string | Yes | format: {NONE | APP_PW | DM_PW} |
TA_TYPE | string | NoGW | format: {TDOMAIN | OSITP} |
The following table lists the fields in the *DM_REMOTE_DOMAINS section.
*DM_REMOTE_DOMAINS SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_RDOM | string | No | key |
TA_DOMAINID | string | No | |
TA_TYPE | string | No | format: {TDOMAIN | OSITP} |
The *DM_TDOMAIN section contains the network addressing parameters required by TDOMAIN type domains. The following lists the fields in this section:
*DM_TDOMAIN SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_LDOM or TA_RDOM | string | No/NoGW | key |
TA_NWADDR | string | No/NoGW | ASCII format (no embedded NULL characters) |
TA_NWDEVICE | string | No/NoGW |
If the domain identifier (TA_LDOM) is a local domain identifier, then the TA_NWADDR and TA_NWDEVICE fields can be updated if the gateway group representing that local domain is not running.
The *DM_OSITP section contains the network addressing parameters required by OSITP type domains. The following lists the fields in this section:
*DM_OSITP SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_LDOM or TA_RDOM | string | No/NoGW | key |
TA_APT | string | No/NoGW | |
TA_AEQ | string | No/NoGW | |
TA_AET | string | No/NoGW | |
TA_ACN | string | No/NoGW | |
TA_APID | string | No/NoGW | |
TA_AEID | string | No/NoGW | |
TA_PROFILE | string | No/NoGW |
If the domain identifier (TA_LDOM) is a local domain identifier, then the other fields in this table can be updated if the gateway group representing that local domain is not running.
The following table lists the fields in the *DM_LOCAL_SERVICES section.
*DM_LOCAL_SERVICES SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_SERVICENAME | string | No | key |
TA_LDOM | string | Yes | |
TA_RNAME | string | Yes | |
TA_ACLNAME | string | Yes | |
TA_BUFTYPE | string | Yes | |
TA_BUFSTYPE | string | Yes | |
TA_OBUFTYPE | string | Yes | |
TA_OBUFSTYPE | string | Yes |
The following table lists the fields in the *DM_REMOTE_SERVICES section.
*DM_REMOTE_SERVICES SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_SERVICENAME | string | No | key |
TA_RDOM | string | No | key |
TA_LDOM | string | No | key |
TA_RNAME | string | Yes | |
TA_CONV | string | NoGW | format: { Y | N } |
TA_BUFTYPE | string | Yes | |
TA_BUFSTYPE | string | Yes | |
TA_OBUFTYPE | string | Yes | |
TA_OBUFSTYPE | string | Yes | |
TA_ROUTINGNAME | string | Yes | |
TA_TRANTIME | numeric | Yes |
The following table lists the fields in the *DM_ROUTING section.
*DM_ROUTING SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_ROUTINGNAME | string | No | key |
TA_FIELD | string | Yes | |
TA_RANGE | string | Yes | |
TA_BUFTYPE | string | Yes |
The following table lists the fields in the *DM_ACCESS_CONTROL section.
*DM_ACCESS_CONTROL SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_ACLNAME | string | No | key |
TA_RDOM | string | Yes |
The following table lists the fields in the *DM_PASSWORDS section.
*DM_PASSWORDS SECTION | |||
---|---|---|---|
Field Identifier | Field Type | Update | Notes |
TA_LDOM | string | No | key |
TA_RDOM | string | No | key |
TA_LPWD | string | Yes | format: { Y | N | U } |
TA_RPWD | string | Yes | format: { Y | N | U } |
The TA_LPWD and TA_RPWD show the existence of a defined password for the local and/or the remote domain. Passwords are not displayed. If an UPDATE operation is selected, the value of the corresponding field must be set to U. The program will then prompt with echo turned off for the corresponding passwords.
dmadmin fails if it cannot allocate an FML typed buffer, if it cannot determine the /etc/passwd entry for the user, or if it cannot reset the environment variables FIELDTBLS or FLDTBLDIR.
The return value printed by dmadmin after each operation completes indicates the status of the requested operation. There are three classes of return values.
The following return values indicate a problem with permissions or a TUXEDO System/T communications error. They indicate that the operation did not complete successfully.
[TAEPERM] The calling process specified an ADD, UPDATE, or DELETE operation but it is not running as the System/T administrator. Update operations must be run by the administrator (that is, the user specified in the UID attribute of the RESOURCES section of the TUXCONFIG file).
[TAESYSTEM] A TUXEDO System/T error has occurred. The exact nature of the error is written to userlog(3cbl).
[TAEOS] An operating system error has occurred.
[TAETIME] A blocking timeout occurred. The input buffer is not updated so no information is returned for retrieval operations. The status of update operations can be checked by doing a retrieval on the record that was being updated.
The following return values indicate a problem in doing the operation itself and generally are semantic problems with the application data in the input buffer. The string field TA_STATUS will be set in the output buffer and will contain short text describing the problem. The string field TA_BADFLDNAME will be set to the field name for the field containing the value that caused the problem (assuming the error can be attributed to a single field).
[TAECONFIG] An error occurred while reading the BDMCONFIG file.
[TAEDUPLICATE] The operation attempted to add a duplicate record.
[TAEINCONSIS] A field value or set of field values are inconsistently specified.
[TAENOTFOUND] The record specified for the operation was not found.
[TAENOSPACE] The operation attempted to do an update but there was not enough space in the BDMCONFIG file.
[TAERANGE] A field value is out of range or is invalid.
[TAEREQUIRED] A field value is required but not present.
[TAESIZE] A field value for a string field is too long.
[TAEUPDATE] The operation attempted to do an update that is not allowed. The following return values indicate that the operation was successful.
[TAOK] The operation succeeded. No updates were done to the BDMCONFIG file.
[TAUPDATED] The operation succeeded. Updates were made to the BDMCONFIG file.
When using dmunloadcf to print entries in the configuration, optional field values are not printed if they are not set (for strings) or 0 (for integers). These fields will always appear in the output buffer when using dmadmin. In this way, it makes it easier for the administrator to retrieve an entry and update a field that previously was not set. The entry will have the field name followed by a tab but no field value.
In the following example, dmadmin is used to add a new remote domain. For illustration purposes, ed(1) is used for the editor.
$ EDITOR=ed dmadmin > config Sections: 1) LOCAL_DOMAINS 2) REMOTE_DOMAINS 3) LOCAL_SERVICES 4) REMOTE_SERVICES 5) ROUTING 6) ACCESS_CONTROL 7) PASSWORDS 8) TDOMAIN 9) OSITP 10) QUIT Enter Section [1]: 2 Operations: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) DELETE 7) NEW_SECTION 8) QUIT Enter Operation [1]: 4 Enter editor to add/modify fields [n]? y a TA_RDOM B05 TA_DOMAINID BA.BANK05 TA_TYPE TDOMAIN w 53 q Perform operation [y]? <return> Return value TAUPDATED Buffer contents: TA_OPERATION 4 TA_SECTION 2 TA_DOMAINID BA.BANK05 TA_RDOM B05 TA_TYPE TDOMAIN TA_STATUS Update completed successfully Operations: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) DELETE 7) NEW_SECTION 8) QUIT Enter Operation [4]: 7 Sections: 1) LOCAL_DOMAINS 2) REMOTE_DOMAINS 3) LOCAL_SERVICES 4) REMOTE_SERVICES 5) ROUTING 6) ACCESS_CONTROL 7) PASSWORDS 8) TDOMAIN 9) OSITP 10) QUIT Enter Section [1]: 8 Operations: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) DELETE 7) NEW_SECTION 8) QUIT Enter Operation [6]: 4 Enter editor to add/modify fields [n]? y a TA_RDOM B05 TA_NWADDR 0x00020401c0066d05 TA_NWDEVICE /dev/tcp w 55 q Perform operation [y]? <return> Return value TAUPDATED Buffer contents: TA_OPERATION 4 TA_SECTION 8 TA_RDOM B05 TA_NWADDR 0x00020401c0066d05 TA_NWDEVICE /dev/tcp TA_STATUS Update completed successfully Operations: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) DELETE 7) NEW_SECTION 8) QUIT Enter Operation [4]: 8 > quit The dmadmin program ends.
If dmadmin is run with the application administrator's UID, it assumes a trusted user and Security is bypassed. If dmadmin is run with another user ID, and if the security option is enabled in the TUXCONFIG file, then the corresponding application password is required to start the dmadmin program. If standard input is a terminal, then dmadmin will prompt the user for the password with echo turned off. If standard input is not a terminal, the password is retrieved from the environment variable, APP_PW. If this environment variable is not specified and an application password is required, then dmadmin will fail to start.
When running with another user ID (other than the UID of the administrator) only a limited set of commands is available.
dmadmin resets the FIELDTBLS and FLDTBLDIR environment variables to pick up the ${TUXDIR}/udataobj/dmadmin field table. Hence, the TUXDIR environment variable should be set correctly.
If the application requires security and the standard input to dmadmin is not from a terminal, then the APP_PW environment variable must be set to the corresponding application password.
The TUXCONFIG environment variable should be set to the pathname of the TUXEDO System/T configuration file.
If the dmadmin command is entered before the system has been booted, the following message is displayed: No bulletin board exists. Only logging commands are available.
dmadmin then prompts for the corresponding commands.
If an incorrect application password is entered or is not available to a shell script through the environment, then a log message is generated, the following message is displayed, and the command terminates: Invalid password entered.
dmadmin must be installed on TUXEDO System/T R4.2.2 or later. Other nodes in the same domain with an R4.2.2 gateway may be TUXEDO System/T R4.1 or later.
dmadmin is supported as a TUXEDO System/T-supplied administrative tool on UNIX operating systems only.