Daylight v4.9
Release Date: 1 February 2008

Name

database - syntax for a Thor or Merlin database's name

Description

Many Daylight programs require you to name a database. To open a database, it's name and the Thor or Merlin server's name, plus your name and two passwords are required.

Daylight programs use a standard syntax to specify a database's name to a "client programs" (e.g. thorls, thorload, etc. -- see the thorfilters(1) man page, which introduces a number of Thor and Merlin programs).

database@server

which is pronounced, "Database at server." The "@server" is optional if the database is on the same computer as the client program and uses the default service (see below).

More formally, a database specification has six parts -- two for the database and four for the server:

file%db_password@hostname:service:userid%user_password

file

The name of the database. This is typically a simple name (e.g. "pomona93c"), which the server finds using its search path (see the Daylight System Administration Manual for details). However, it can be a complete path; for example on a UNIX server it might be "/usr/fred/steroids".
If the file part of the name contains environment variables (which must be quoted on command lines to prevent shell expansion), they are expanded in the server's environment.

db_password

The password for the database. Each database has three passwords, for read, read/write, and executive operations; which password is required depends on the operation being performed. The executive password will work for any operation; the write password will work for read/write or read-only operations, and the read password will only work for read-only operations.
It is permissible to use environment variables in the password field; these are expanded in the client's environment (unlike those in file, which are expanded by the server.) This makes it possible to invoke a Thor or Merlin program with a command line that contains a password without revealing it: the actual password is passed in the environment. Tricks that other users might use to see the command line of a process (such as ps(1)) won't reveal anything.

hostname

This names the computer on which the server is running. The default is the name of the computer on which the client is running (see hostname(1)).

service

Names the "port" or "IPC address" of the server on the host computer. These are taken from /etc/services (or, if your site uses Network Information Service, from the computer that ypwhich(1) names). The default service is from the option "THOR_IPC_SERVICE" or "MERLIN_IPC_SERVICE", and is typically "thor" or "merlin", for Thor and Merlin servers, respectively.

userid

The user name that is to be used when logging in to the server. Defaults to the user's login id on the client's computer (see whoami(1)). Note that the Thor/Merlin system's list of "user accounts" is separate from the host computer's. While it is convenient to share "account names" between the Thor/Merlin system and the UNIX or VMS system, it is not necessary.

user_password

The password for userid on the specified Thor or Merlin server. If no password is specified (i.e. no percent sign), most Daylight programs will prompt you for one. If the password is supplied but empty (a percent sign with nothing after it), a blank password is used. (Note: most Thor and Merlin programs prohibit passwords on a command line unless the SECURE_PASSWORDS option is FALSE. Without SECURE_PASSWORDS, all passwords must be entered interactively.)

Each of the fields in a server specification, including the hostname, is optional; if not specified, defaults are supplied.

It is permissible to use environment variables in the password field only. This makes it possible to invoke a Thor or Merlin program with a command line that contains a password without revealing it: the actual password is passed in the environment. Tricks that other users might use to see the command line of a process (such as ps(1)) won't reveal anything.

Examples

/home/fred/project%cantina@crimson:thormgr:annie%wildwest
This is a "full specification." The database is "/home/fred/project" its password is "cantina". The database is accessed via the server using the service "thormgr" on the computer "crimson". The client program will log in to the server as user "annie"; annie's password is "wildwest".

pomona93c

This is a "minimal specification." The database is "pomona93c"; the user will be prompted to enter the database's password. The database is accessed via the server on the same host as the client, at the default service ("thor" or "merlin"). The client program will log in to the server using the user's login id, and will be prompted for the server password, too.

pomona93c%@crawdad%

Opens database "pomona93c" on the server "crawdad". The percent signs indicate that blank passwords are to be used (i.e. this is a "public" server and a "public" database).

mydb%@%

Opens the database "mydb" on a server on the same computer as the client. Uses blank passwords.

$DY_THORDB/mydb%$MYPASS

Opens the database "$DY_THORDB/mydb" using the password obtained from the environment variable "MYPASS". Note that the environment variable "DY_THORDB" is evaluated by the server, but "MYPASS" is evaluated by the client.

Related Topics

thorfilters(1) thorserver(1) merlinserver(1) dayevict(1) daymessage(1) merlindbping(1) merlinload(1) merlinls(1) merlinwho(1) thorchange(1) thorcrunch(1) thordbping(1) thordelete(1) thordestroy(1) thordiff(1) thorlist(1) thorload(1) thorlookup(1) thorls(1) thormake(1) thorwho(1) server(5)