listing for T
ttauth - ToolTalk authority file utility
ttauth [[-f] | [authfile] ] [[-vqib]] [[command arg]...]
The following options may be used with ttauth. They may be given
individually or may combined.
This option specifies the name of the authority file to use. By
default, ttauth uses the file specified by the TTAUTHORITY environment
variable or the .TTauthority file in the user's home directory.
-q This option indicates that ttauth should operate quietly and not print
unsolicited status messages. This is the default if an ttauth command
is given on the command line or if the standard output is not directed
to a terminal.
-v This option indicates that ttauth should operate verbosely and print
status messages indicating the results of various operations (for
example, how many records have been read in or written out). This is
the default if ttauth is reading commands from its standard input and
its standard output is directed to a terminal.
-i This option indicates that ttauth should ignore any authority file
locks. Normally, ttauth refuses to read or edit any authority files
that have been locked by other programs (usually ttsession or another
-b This option indicates that ttauth should attempt to break any authority
file locks before proceeding. Use this option only to clean up stale
The ttauth program is used to edit and display the authorization
information used in connecting to ToolTalk. This program is usually used
to extract authorization records from one machine and merge them in on
another (as is the case when using remote logins or granting access to
other users). Commands (described below) may be entered interactively, on
the ttauth command line, or in scripts. Note that this program does not
contact the ToolTalk server, ttsession. Normally ttauth is not used to
create the authority file entry in the first place; ttsession does that.
Users that have unsecure networks should take care to use encrypted file
transfer mechanisms to copy authorization entries between machines.
Similarly, the MIT-MAGIC-COOKIE-1 protocol is not very useful in unsecure
environments. Sites that are interested in additional security may need to
use encrypted authorization mechanisms such as Kerberos.
Spaces are currently not allowed in the protocol name. Quoting could be
added for the truly perverse.
The following commands may be used to manipulate authority files:
add protoname protodata netid authname authdata
An authorization entry for the indicated ToolTalk session using the
given protocol name (protoname), protocol data (protodata), ToolTalk
session id (netid), authentication name (authname), and authentication
data (authdata) is added to the authorization file. The protocol name
should always be the string "TT". The protocol data should always be
the empty string. The ToolTalk session ID is formatted string
consisting of the ttsession program number, the ttsession authorization
level, the IP address of the host running ttsession, and the RPC
version number of the ttsession. See the TTSESSION IDENTIFIERS section
below for information on constructing ToolTalk session ID's for the
authority file. The authentication name should always be the string
"MIT-MAGIC-COOKIE-1". The authentication data is specified as an
even-lengthed string of hexadecimal digits, each pair representing one
octet. The first digit of each pair gives the most significant 4 bits
of the octet, and the second digit of the pair gives the least
significant 4 bits. For example, a 32 character hexkey would represent
a 128-bit value.
[n]extract filename <protoname=$> <protodata=$> <netid=$> <authname=$>
Authorization entries which match the specified fields are written to
the indicated file. If the nextract command is used, the entries are
written in a numeric format suitable for non-binary transmission (such
as secure electronic mail). The extracted entries can be read back in
using the merge and nmerge commands. If the file name consists of just
a single dash, the entries will be written to the standard output.
[n]list <protoname=$> <protodata=$> <netid=$> <authname=$>
Authorization entries which match the specified fields (or all if
nothing is specified) are printed on the standard output. If the nlist
command is used, entries are shown in the numeric format used by the
nextract command; otherwise, they are shown in a textual format. Key
data is always displayed in the hexadecimal format given in the
description of the add command.
[n]merge [filename1 <filename2> <filename3>...]
Authorization entries are read from the specified files and are merged
into the authorization database, superseding any matching existing
entries. If the nmerge command is used, the numeric format given in the
description of the extract command is used. If a file name consists of
just a single dash, the standard input will be read if it hasn't been
remove <protoname=$> <protodata=$> <netid=$> <authname=$>
Authorization entries which match the specified fields are removed from
the authority file.
The specified file is treated as a script containing ttauth commands to
execute. Blank lines and lines beginning with a pound sign (#) are
ignored. A single dash may be used to indicate the standard input, if
it has not already been read.
Information describing the authorization file, whether or not any
changes have been made, and from where ttauth commands are being read
is printed on the standard output.
If any modifications have been made, the authority file is written out
(if allowed), and the program exits. An end of file is treated as an
implicit exit command.
The program exits, ignoring any modifications. This may also be
accomplished by pressing the interrupt character.
A description of all commands that begin with the given string (or all
commands if no string is given) is printed on the standard output.
? A short list of the valid commands is printed on the standard output.
The ToolTalk session identifiers (netid) in the authority file and used by
the add, [n]extract, [n]list, and remove commands are derived from the
TT_SESSION identifier constructed by ttsession at startup. The ttsession
rendezvous with clients by writing the TT_SESSION identifier as a property
on the root window or as an environment variable in the client's
environment (see ttsession -c). In addition, ttsession creates an entry in
the user's authority file. The authority file entry has a netid component
which is derived from the TT_SESSION identifier.
The TT_SESSION(STRING) = "01 1433 1342177279 1 1 2002 220.127.116.11 4"
identifier is composed of the following elements:
<Dummy Number> = 01
<ttsession Process Id> = 1433
<ttsession Program Number> = 1342177279
<DummyNumber> = 1
<ttsession Authorization Level> = 1
<ttsession UID> = 2002
<Host IP Address> = 18.104.22.168
<RPC Version Number> = 4
The ToolTalk session identifiers (netid) in the authority file are composed
of the <ttsession Program Number>, <ttsession Authorization Level>, <Host
IP Address>, and <RPC Version Number> fields of the TT_SESSION identifier
The most common use for ttauth is to extract the entry for the current
ttsession, copy it to another machine, and merge it into the user's
authority file on the remote machine:
% xprop -root | grep TT_SESSION
TT_SESSION(STRING) = "01 1433 1342177279 1 1 2002 22.214.171.124 4"
_SUN_TT_SESSION(STRING) = "01 1433 1342177279 1 1 2002 126.96.36.199 4"
% ttauth extract - netid=1342177279/1/188.8.131.52/4 | \
rsh otherhost ttauth merge -
This ttauth program uses the following environment variables:
Gets the name of the authority file to use if the -f option is not
Default authority file in the user's home directory if TTAUTHORITY is
ToolTalk Reference Manual
listing for T