Invokes the X Authority utility (xauth) that enables you to manage the contents of one or more X authority files. The X authority file contains information used to authorize client connections to the X display server. This utility is typically used to extract authorization records from one system and combine them with the records on another system, such as when granting access to additional users or enabling remote logins. The actual record entries vary depending on the authentication scheme currently in use. In contrast to other X Window System utilities that are available with DECwindows Motif, xauth is included as a part of OpenVMS Alpha and OpenVMS I64 operating systems. The xauth commands are case-insensitive and available directly from the DCL command line, xauth command line, or from a batch file. Format: XAUTH [-f authfile] [-options...] [command]
1 – Options
1.1 – -f_authfile
Specifies the name of the X authority file. Version numbers are not allowed. If a display device is specified on the command line, xauth will use the X authority file referenced by the display device. Otherwise, xauth will use the default X authority file used by client applications. This file is the X authority file referenced by the DECW$DISPLAY display device, the DECW$XAUTHORITY logical, or SYS$LOGIN:DECW$XAUTHORITY.DECW$XAUTH.
1.2 – -q
Specifies that xauth operate in quiet mode. Status messages are not displayed. This is the default setting if the output from xauth is not directed to a terminal.
1.3 – -v
Specifies that xauth operate in verbose mode. Status messages are printed. This is the default setting if the output from xauth is directed to a terminal.
1.4 – -i
Specifies that xauth ignore file locks. Normally, xauth will refuse to read or edit any files that have been locked by another program (such as, by another instance of xauth) and not timed out.
1.5 – -b
Specifies that xauth break file locks before proceeding. Use this option only to clean up stale locks.
1.6 – -n
Specifies that xauth not interpret the host name when the list command is used. Instead, xauth displays the literal value as it appears in the X authority file.
2 – Commands
2.1 – ADD
Adds or replaces the specified entries.
2.2 – EXTRACT
Extracts and writes the specified entries to a new X authority file.
2.3 – EXIT
Saves and closes the file and exits the xauth utility. (Available from the xauth command line only.)
2.4 – REMOVE
Deletes the specified entries.
2.5 – MERGE
Appends entries from another X authority file.
2.6 – NEXTRACT
Extracts the specified entries in numerical format.
2.7 – NMERGE
Merges the specified entries presented in numerical format.
2.8 – LIST
Displays a listing of entries in the X authority file.
2.9 – NLIST
Displays a listing of entries in numerical format.
2.10 – GENERATE
Used to generate a new authorization key. Requires that DECwindows Motif for OpenVMS be installed and the SECURITY extension be enabled on the X display server. The generate command creates a key that applies to all entries with a matching IPv4 or IPv6 host address. It is not limited to the IP address of the host used to connect to the display server.
2.11 – HELP
Displays information about the parameters and options for this utility. Subtopic help is also available by typing a question mark (?) at the command prompt.
2.12 – INFO
Provides a brief overview of the X authority file.
2.13 – QUIT
Closes the xauth utility without applying any changes. (Available from the xauth command line only.)
2.14 – SOURCE
Runs xauth commands from a command file.
3 – X Authority Files
The X authority file is a binary data file that contains information used to authorize connections to the X server on a system running DECwindows Motif Version 1.3 or higher. Each time a client application attempts to connect to an X server system that uses an authorization protocol, it references the current X authority file to determine the appropriate authorization key to apply in order to authenticate the connection. Each authorization key consists of the protocol name and token, which can be one of the following depending on the protocol in use: o MIT-MAGIC-COOKIE-1 + random numeric code o MIT-KERBEROS-5 + encrypted string (cached separately) By default, an X authority file is created automatically the first time a user logs into a desktop on a system configured for MIT-MAGIC-COOKIE-1 or MIT-KERBEROS-5 authentication. The file is stored in that user's OpenVMS login directory (SYS$LOGIN:DECW$XAUTHORITY.DECW$XAUTH). Each time the user subsequently logs into a desktop on that system, a new authorization key is generated, passed to the X server, and written to the user's X authority file. This key controls access to the X server during the DECwindows Motif session. A separate X authority file can be manually defined on a server level (using the DECW$SERVER_XAUTHORITY symbol) for those client applications that require access to the X server outside of the normal DECwindows Motif login process. If the SECURITY extension is enabled, authorization keys can also be manually generated. Manually-generated keys can be used to further restrict server access. The generated key is stored in the X authority file on the client system overwriting any value already present for the specified display server. The key can be distributed to different client systems to allow connections to a specific server and can be revoked to stop subsequent connections. Generated keys are assigned an authorization ID that associates the key with the user who generated the key. As a result, only the user who generated the key can revoke the key.
3.1 – Format of File Entries
Each entry in an X authority file corresponds to a particular X display server and is composed of three main components: display-name protocol token
3.1.1 – display-name
Identifies the name of the X display to which you are authorizing access. The display name follows the supported display name format: [transport/]host:[:]server[.screen] This format enables you to use a single X authority file to grant varying levels of access to different X display servers and connection families. For example, the following entries grant access to the local display server on node HUBBUB and the remote display server on node ZEPHYR via the DECnet transport: local/HUBBUB:0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 decnet/ZEPHYR::0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 o [transport/] Identifies the network transport used to connect to an X display server. See the DECwindows Motif documentation for a list of the supported transport values. If a transport value is not specified, the default value is interpreted from the format of the remaining portions of the display-name entry, for example: Host address and one colon (116.94.24.187:0) (TCP/IP) Two colons (::0 or ZEPHYR::0) (DECnet) No host name or address and one colon (:0) (local) o host[:] Identifies the name of the host system where the X display server is located. A value of 0 is interpreted as the local host, which is the default. The type of host is determined by the transport value. See the DECwindows documentation for examples of valid host name and address formats. o :server Identifies the server. This value is required and must be preceded by a single colon (:). Typically the value for a single-server system is :0. If you are specifying a display on a multi-server system (such as when using a proxy server), additional values may apply depending on the number of servers in the configuration. If you have specified a display device (with the SET DISPLAY command), the server portion of the entry is assumed from the device specification. o [.screen] Identifies the screen. On OpenVMS Alpha and OpenVMS I64 systems, the screen value is not held in the X authority file and is ignored when included in a command. All screens on a single server have the same authorization.
3.1.2 – protocol
Indicates the authentication protocol in use. Valid values are MIT-MAGIC-COOKIE-1 and MIT-KERBEROS-5.
3.1.3 – token
A random alphanumeric string that functions as a password authorizing a server connection. The format of the token depends on the authorization scheme in use. MIT-MAGIC-COOKIE-1 uses a 128-bit string known as a magic cookie. MIT-KERBEROS-5 uses an encrypted string to authorize server connections. This string is stored separately. The token entry in the X authority file represents the encoded location of the Kerberos keytab file and associated principal name, which is referenced by the server to locate the encrypted string.
3.2 – Specifying an X Authority File
By default, the X authority file referenced by client applications and the xauth utility is defined as SYS$LOGIN:DECW$XAUTHORITY.DECW$XAUTH. You can override this default and specify an alternate X authority file in either of the following ways: o You can create alternate X authority files and switch between them using the DECW$XAUTHORITY logical. For example, the following command changes the X authority file in use for the current DECwindows Motif session to UNTRUSTED.DECW$AUTH: $ DEFINE DECW$XAUTHORITY- _$ SYS$MANAGER:[SYSMGR]UNTRUSTED.DECW$XAUTH The logical definition remains in use until it is redefined or an alternate value is specified using the SET DISPLAY/XAUTHORITY command. o If a display device is used to create a client connection to an X server, you can specify an alternate X authority file using the SET DISPLAY/CREATE/XAUTHORITY command. Note that the file specified on this command line overrides both the default and any file referenced by the DECW$XAUTHORITY logical.
4 – Entering Commands
You can choose to enter commands interactively from DCL, or enter the utility and issue commands from the xauth command line. Note that SYS$LOGIN:DECW$XAUTHORITY.DECW$XAUTH is the default X authority file. If you want to work with an alternate file, use the -f option on the command line to specify the filename, as follows: $ XAUTH -f SYS$SYSROOT:[SYSMGR]UNTRUSTED.DECW$XAUTH Using authority file SYS$SYSROOT:[SYSMGR]UNTRUSTED.DECW$XAUTH xauth> Tips and Shortcuts o If you are working with an X authority file other than the default, and plan to enter a series of commands, use the XAUTH -f command to enter the utility; then issue the subsequent commands from the utility command line. Otherwise, you will need to reenter the fully-qualified filename with each xauth command issued from the DCL command line. o When adding a file entry, you can specify a period (.) in place of the value MIT-MAGIC-COOKIE-1. The period is replaced by the name of the authentication protocol.
5 – IPv6 Considerations
Note that xauth interprets certain transport values slightly different than in most other DECwindows Motif interfaces. xauth Transport Actions describes how xauth interprets each transport. Table 1 xauth Transport Actions With this Transport Value... xauth Commands Affect... INET All entries in the X authority file whose host address matches any of the IPv4 addresses associated with the same TCP/IP host. INET6 All entries in the X authority file whose host address matches any of the IPv4 or IPv6 addresses associated the same TCP/IP host. TCPIP or TCP All entries in the X authority file as if INET or INET6 had been specified, depending on the setting of DECW$IPV6_SUPPORT.
6 – Accessing Help
To display a brief list of the available xauth commands or a summary of their function, issue either the XAUTH ? or XAUTH HELP command.
7 – Creating a File
Use the XAUTH -f ADD command to manually create an X authority file. You must manually create an X authority file for the server when enabling authentication outside of a DECwindows Motif session. You can also choose to create additional user X authority files to store alternate authentication settings, such as for authorizing untrusted network connections. An X authority file name can consist of any characters currently supported by OpenVMS; however, the file extension is restricted to a maximum of 37 characters and version numbers are not allowed. The -f option specifies the name of the X authority file, and the ADD command creates the file by adding an entry. If you do not enter a fully-qualified filename, the new X authority file is written to the current directory by default. For example, the following command creates a new X authority file UNTRUSTED.DECW$XAUTH to be used to authorize untrusted network connections: $ XAUTH -f UNTRUSTED.DECW$XAUTH ADD :0 . cfcc5ef98f9718f90154f355c0ae9f62
8 – Displaying File Information
To assist with debugging file access and write issues, xauth includes a command that displays summary information about a particular X authority file. Use the XAUTH INFO command to display information about an X authority file, such as the current lock status and change history. For example, the following command displays summary information about the X authority file UNTRUSTED.DECW$XAUTH: $ XAUTH -f SYS$SYSROOT:[SYSMGR]UNTRUSTED.DECW$XAUTH INFO Authority file: SYS$SYSROOT:[SYSMGR]UNTRUSTED.DECW$XAUTH File new: no File locked: yes Number of entries: 2 Changes honored: yes Changes made: no Current input: command line
9 – Viewing and Editing File Entries
Each X authority file assumes the default protections of the account and directory in which it resides. If you have the appropriate privileges, you can view or edit the contents of an X authority file. To ensure the appropriate level of security, access to this file is typically limited to either the local SYSTEM account, the file owner, or both. NOTE When an X authority file is open for viewing or editing, one or more lock files are created by adding -L or -C to the file extension (such as, *.DECW$XAUTH-C). This renders the X authority file locked from further use. When the file is closed, the lock is subsequently removed, and the lock files deleted. If a DECwindows Motif session is terminated abruptly, one or more locked files can remain. Use the XAUTH command with options -b or -i to either break or ignore the locks and gain access to the file.
9.1 – Displaying File Entries
Use the XAUTH LIST command to display the contents of an X authority file. For example, the following XAUTH command displays the entries in the X authority file UNTRUSTED.DECW$XAUTH: $ XAUTH -f UNTRUSTED.DECW$XAUTH LIST local/ZEPHYR:0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 decnet/ZEPHYR::0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 116.94.24.187:0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 NOTE TCP/IP is considered the default transport for X authority file entries. As a result, the transport portion of the display name is assumed and not displayed for entries that use the TCP/IP transport. To limit the list to entries related to a particular display, enter the display name at the end of the XAUTH LIST command, as follows: $ XAUTH -f UNTRUSTED.DECW$XAUTH LIST ZEPHYR::0 decnet/ZEPHYR::0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 With the TCPIP transport, multiple addresses may correspond to the same display name. When displaying X authority file entries, it may be difficult to distinguish which entry applies to which address. To differentiate the entries, use the -n qualifier to list them in numeric format, as follows: $ XAUTH LIST test13_2:0 MIT-MAGIC-COOKIE-1 12 test13_2:0 MIT-MAGIC-COOKIE-1 23 $ XAUTH -n LIST #0006#fe800000000000000200f8fffe101905#:0 MIT-MAGIC-COOKIE-1 12 #0000#c0a70209#:0 MIT-MAGIC-COOKIE-1 23
9.2 – Adding and Removing File Entries
Use the XAUTH ADD and XAUTH REMOVE commands to add entries to or delete entries from an X authority file. If you have created a display device (using the SET DISPLAY command), you can specify the device name on the xauth command line to insert or remove entries related to the display device. Typically, the X authority file entry for a display device corresponds to the display server specified by the SET DISPLAY command. However, if the SET DISPLAY command specifies that a proxy server be used, the file entry pertains to that proxy server. For example, the following X authority file has a single entry for the LOCAL transport on node ZEPHYR. To use the same authorization key for the DECnet transport and to specify that Kerberos be used when connecting to remote node HUBBUB, you could add the following entries to the X authority file UNTRUSTED.DECW$XAUTH: $ XAUTH -f UNTRUSTED.DECW$XAUTH Using authority file untrusted.decw$xauth xauth> LIST local/ZEPHYR:0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 xauth> ADD ::0 . cfcc5ef98f9718f90154f355c0ae9f62 xauth> ADD HUBBUB::0 MIT-KERBEROS-5 "" xauth> LIST local/ZEPHYR:0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 decnet/ZEPHYR::0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 decnet/HUBBUB::0 MIT-KERBEROS-5 xauth> EXIT Writing X authority file untrusted.decw$xauth Client applications running on systems in the same cluster share a single X authority file. As a result, in cluster configurations, adding an entry for the DECnet transport to the local system grants client applications running on other nodes in the cluster access to that system. To discontinue remote access to HUBBUB, you could use the XAUTH REMOVE command to remove the entry, as follows: $ XAUTH -f UNTRUSTED.DECW$XAUTH Using authority file untrusted.decw$xauth xauth> REMOVE HUBBUB::0 1 entries removed xauth> LIST local/ZEPHYR:0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 decnet/ZEPHYR::0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 xauth> EXIT Writing X authority file untrusted.decw$xauth
9.3 – Copying Entries Between Files
Use one or more of the following XAUTH commands to copy entries for a particular display from one X authority file to another. This enables you to use an existing entry to grant another user access to a particular display or to obtain access to a remote host from the current display device. o EXTRACT - Creates a new X authority file whose entries match those in the original file. o MERGE - Appends the contents of one file to another, replacing entries for the same display name or adding entries for different names. o NEXTRACT and NMERGE - These commands are designed to be used with the PIPE command. NEXTRACT extracts file entries in a text format that can then be used as input for the NMERGE command. For example, the following command extracts the X authority file entry for the local transport from the file UNTRUSTED.DECW$XAUTH and adds it to a new X authority file NEW_XAUTHORITY.DECW$XAUTH: $ PIPE XAUTH -f UNTRUSTED.DECW$XAUTH NEXTRACT SYS$OUTPUT :0 | - _$ XAUTH -f NEW_XAUTHORITY.DECW$XAUTH NMERGE SYS$INPUT These commands can also be used with the rsh command to copy entries from an X authority file on an OpenVMS host to an X authority file on a remote UNIX system. For example, the following command extracts the entry for TCP/IP access (TCPIP/0:0) and adds it to the current file for user SMITH on the remote UNIX system FLOPSY: $ PIPE XAUTH -f UNTRUSTED.DECW$XAUTH NEXTRACT TCPIP/0:0 | - _$ rsh/user=smith/password=secret flopsy "xauth nmerge -" NOTE When using the PIPE and XAUTH commands to pass information to a UNIX host, you must press Ctrl/C to terminate the connection to the UNIX host and return control to OpenVMS.
10 – Generating Authorization Keys
When the SECURITY extension is enabled on an X display server, you can generate additional authorization keys. Generated keys enable you to further manage server access and control the type of operations performed over the connection. For example, you can revoke a generated key at will, set it to expire after a certain time period, or use it to further grant or restrict the operations (at the X atom level) that can be performed over the connection. Use the XAUTH GENERATE command to produce a new authorization key. Note that the generated key overwrites any existing key for the current session. To preserve the existing key, specify an alternate X authority file on the XAUTH command line. For example, the following commands specify the alternate X authority file UNTRUSTED.DECW$XAUTH, generate and display a new key for the local display, and write the generated key to the alternate file: $ XAUTH -f UNTRUSTED.DECW$XAUTH Using authority file untrusted.decw$xauth xauth> LIST :0 local/ZEPHYR:0 MIT-MAGIC-COOKIE-1 cfcc5ef98f9718f90154f355c0ae9f62 xauth> GENERATE :0 xauth> LIST :0 local/ZEPHYR:0 MIT-MAGIC-COOKIE-1 cfcc4ff77f3709c46222c355f0ea1c93 xauth> EXIT Writing X authority file untrusted.decw$xauth