diff options
Diffstat (limited to 'usr/src/man/man1/rdist.1')
| -rw-r--r-- | usr/src/man/man1/rdist.1 | 649 |
1 files changed, 649 insertions, 0 deletions
diff --git a/usr/src/man/man1/rdist.1 b/usr/src/man/man1/rdist.1 new file mode 100644 index 0000000000..b51e7c667d --- /dev/null +++ b/usr/src/man/man1/rdist.1 @@ -0,0 +1,649 @@ +'\" te +.\" Copyright (c) 1985 Regents of the University of California. All rights reserved. The Berkeley software License Agreement specifies the terms and conditions for redistribution. +.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved +.TH rdist 1 "23 Dec 2008" "SunOS 5.11" "User Commands" +.SH NAME +rdist \- remote file distribution program +.SH SYNOPSIS +.LP +.nf +\fBrdist\fR [\fB-b\fR] [\fB-D\fR] [\fB-h\fR] [\fB-i\fR] [\fB-n\fR] [\fB-q\fR] [\fB-R\fR] [\fB-a\fR] [\fB-K\fR] [\fB-x\fR] + [\fB-PN\fR | \fB-PO\fR] [\fB-k\fR \fIrealm\fR] [\fB-v\fR] [\fB-w\fR] [\fB-y\fR] + [\fB-d\fR \fImacro\fR \fI=\fR \fIvalue\fR] [\fB-f\fR \fIdistfile\fR] [\fB-m\fR \fIhost\fR]... +.fi + +.LP +.nf +\fBrdist\fR [\fB-b\fR] [\fB-D\fR] [\fB-h\fR] [\fB-i\fR] [\fB-n\fR] [\fB-q\fR] [\fB-R\fR] [\fB-a\fR] [\fB-K\fR] [\fB-x\fR] + [\fB-PN\fR | \fB-PO\fR] [\fB-k\fR \fIrealm\fR] [\fB-v\fR] [\fB-w\fR] [\fB-y\fR] \fB-c\fR \fIpathname\fR... + [\fIlogin\fR @] \fIhostname\fR [: \fIdestpath\fR] +.fi + +.SH DESCRIPTION +.sp +.LP +The \fBrdist\fR utility maintains copies of files on multiple hosts. It +preserves the owner, group, mode, and modification time of the master copies, +and can update programs that are executing. (\fBrdist\fR does not propagate +ownership or mode changes when the file contents have not changed.) Normally, a +copy on a remote host is updated if its size or modification time differs from +the original on the local host. With the \fB-y\fR option (younger mode), only +the modification times are checked, not the size. See \fBOPTIONS\fR below. +.sp +.LP +There are two forms of the \fBrdist\fR command. In the first form shown in the +\fBSYNOPSIS\fR section above, \fBrdist\fR reads the indicated \fIdistfile\fR +for instructions on updating files and/or directories. If \fIdistfile\fR is +`\fB\(mi\fR\&', the standard input is used. If no \fB-f\fR option is present, +\fBrdist\fR first looks in its working directory for \fBdistfile\fR, and then +for \fBDistfile\fR, for instructions. +.sp +.LP +The second form shown in \fBSYNOPSIS\fR uses the \fB-c\fR option and specifies +paths as command line options. +.sp +.LP +The user can opt for a secure session of \fBrdist\fR which uses Kerberos V5 for +authentication. Encryption of the data being transferred is also possible. The +\fBrdist\fR session can be kerberized using any of the following Kerberos +specific options : \fB-a\fR, \fB-PN\fR or \fB-PO\fR, \fB-x\fR, and \fB-k\fR +\fIrealm\fR. Some of these options (\fB-a\fR, \fB-x\fR, \fB-PN\fR or \fB-PO\fR, +and \fB-f\fR or \fB-F\fR) can also be specified in the \fB[appdefaults]\fR +section of \fBkrb5.conf\fR(4). The usage of these options and the expected +behavior is discussed in the OPTIONS section below. If Kerberos authentication +is used, authorization to the account is controlled by rules in +\fBkrb5_auth_rules\fR(5). If this authorization fails, fallback to normal +\fBrdist\fR using rhosts occurs only if the \fB-PO\fR option is used explicitly +on the command line or is specified in \fBkrb5.conf\fR(4). Also notice that the +\fB-PN\fR or \fB-PO\fR, \fB-x\fR, and \fB-k\fR \fIrealm\fR options are just +supersets of the \fB-a\fR option. In order to use the non-secure version of +\fBrdist\fR across machines, each host machine must have a +\fB/etc/host.equiv\fR file, or the user must have an entry in the +\fB\&.rhosts\fR file in the home directory. See \fBhosts.equiv\fR(4) for more +information. +.SH OPTIONS +.sp +.LP +The following options are supported: +.sp +.ne 2 +.mk +.na +\fB\fB-a\fR\fR +.ad +.sp .6 +.RS 4n +This option explicitly enables Kerberos authentication and trusts the +\fB\&.k5login\fR file for access-control. If the authorization check by +\fBin.rshd\fR(1M) on the server-side succeeds and if the \fB\&.k5login\fR file +permits access, the user is allowed to carry out the \fBrdist\fR transfer. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-b\fR\fR +.ad +.sp .6 +.RS 4n +Binary comparison. Performs a binary comparison and updates files if they +differ, rather than merely comparing dates and sizes. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-c\fR +\fIpathname\fR .\|.\|.[\fIlogin\|\fR\fB@\fR]\fIhostname\fR[\fB:\fR\fIdestpath\|\fR]\fR +.ad +.sp .6 +.RS 4n +Copies each \fIpathname\fR to the named host; if \fIdestpath\fR is specified, +it does not update any \fIpathname\fR on the named host. (Relative filenames +are taken as relative to your home directory.) If the `\fIlogin\fR\fB\|@\fR\&' +prefix is given, the update is performed with the user \fBID\fR of \fIlogin\fR. +If the `\fB:\fR\fIdestpath\fR' is given, the remote file is installed as that +pathname. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-d\fR \fImacro\fR\fB=\fR\fIvalue\fR\fR +.ad +.sp .6 +.RS 4n +Defines \fImacro\fR to have \fIvalue\fR. This option is used to define or +override macro definitions in the distfile. \fIvalue\fR can be the empty +string, one name, or a list of names surrounded by parentheses and separated by +white space. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-D\fR\fR +.ad +.sp .6 +.RS 4n +Enables debugging. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-f\fR \fIdistfile\fR\fR +.ad +.sp .6 +.RS 4n +Uses the description file \fIdistfile\fR. A `\fB\(mi\fR\&' as the +\fIdistfile\fR argument denotes the standard input. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-h\fR\fR +.ad +.sp .6 +.RS 4n +Follows symbolic links. Copies the file that the link points to rather than the +link itself. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-i\fR\fR +.ad +.sp .6 +.RS 4n +Ignores unresolved links. \fBrdist\fR normally tries to maintain the link +structure of files being transferred and warn the user if all the links cannot +be found. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-k\fR \fIrealm\fR\fR +.ad +.sp .6 +.RS 4n +Causes \fBrdist\fR to obtain tickets for the remote host in \fIrealm\fR instead +of the remote host's realm as determined by \fBkrb5.conf\fR(4). +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-K\fR\fR +.ad +.sp .6 +.RS 4n +This option explicitly disables Kerberos authentication. It can be used to +override the \fBautologin\fR variable in \fBkrb5.conf\fR(4). +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-m\fR \fIhost\fR\fR +.ad +.sp .6 +.RS 4n +Limits which machines are to be updated. Multiple \fB-m\fR arguments can be +given to limit updates to a subset of the hosts listed in the distfile. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-n\fR\fR +.ad +.sp .6 +.RS 4n +Prints the commands without executing them. This option is useful for debugging +a distfile. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-PO\fR\fR +.ad +.br +.na +\fB\fB-PN\fR\fR +.ad +.sp .6 +.RS 4n +Explicitly requests new (\fB-PN\fR) or old (\fB-PO\fR) version of the Kerberos +"\fBrcmd\fR" protocol. The new protocol avoids many security problems prevalant +in the old one and is regarded much more secure, but is not interoperable with +older (MIT/SEAM) servers. The new protocol is used by default, unless +explicitly specified using these options or through \fBkrb5.conf\fR(4). If +Kerberos authorization fails when using the old "\fBrcmd\fR" protocol, there is +fallback to regular, non-kerberized \fBrdist\fR. This is not the case when the +new, more secure "\fBrcmd\fR" protocol is used. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-q\fR\fR +.ad +.sp .6 +.RS 4n +Quiet mode. Does not display the files being updated on the standard output. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-R\fR\fR +.ad +.sp .6 +.RS 4n +Removes extraneous files. If a directory is being updated, removes files on the +remote host that do not correspond to those in the master (local) directory. +This is useful for maintaining truly identical copies of directories. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-v\fR\fR +.ad +.sp .6 +.RS 4n +Verifies that the files are up to date on all the hosts. Any files that are out +of date are displayed, but no files are updated, nor is any mail sent. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-w\fR\fR +.ad +.sp .6 +.RS 4n +Whole mode. The whole file name is appended to the destination directory name. +Normally, only the last component of a name is used when renaming files. This +preserves the directory structure of the files being copied, instead of +flattening the directory structure. For instance, renaming a list of files such +as \fBdir1/dir2\fR to \fBdir3\fR would create files \fBdir3/dir1\fR and +\fBdir3/dir2\fR instead of \fBdir3\fR and \fBdir3\fR. When the \fB-w\fR option +is used with a filename that begins with \fB~\fR, everything except the home +directory is appended to the destination name. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-x\fR\fR +.ad +.sp .6 +.RS 4n +Causes the information transferred between hosts to be encrypted. Notice that +the command is sent unencrypted to the remote system. All subsequent transfers +are encrypted. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB-y\fR\fR +.ad +.sp .6 +.RS 4n +Younger mode. Does not update remote copies that are younger than the master +copy, but issues a warning message instead. Only modification times are +checked. No comparison of size is made. +.RE + +.SH USAGE +.SS "White Space Characters" +.sp +.LP +NEWLINE, TAB, and SPACE characters are all treated as white space; a mapping +continues across input lines until the start of the next mapping: either a +single \fIfilename\fR followed by a `\fB->\fR' or the opening parenthesis of a +filename list. +.SS "Comments" +.sp +.LP +Comments begin with \fB#\fR and end with a NEWLINE. +.SS "Distfiles" +.sp +.LP +The distfile contains a sequence of entries that specify the files to be +copied, the destination files to be copied, the destination hosts, and what +operations to perform to do the updating. Each entry has one of the following +formats: +.sp +.in +2 +.nf +\fIvariable_name\fR '=' \fIname_list\fR +[ label: ] \fIsource_list\fR '\fB->\fR' \fIdestination_list\fR \fIcommand_list\fR +[ label: ] \fIsource_list\fR '\fB::\fR' \fItime_stamp_file\fR \fIcommand_list\fR +.fi +.in -2 + +.sp +.LP +The first format is used for defining variables. The second format is used for +distributing files to other hosts. The third format is used for making lists of +files that have been changed since some given date. The source list specifies a +list of files and/or directories on the local host that are to be used as the +master copy for distribution. The destination list is the list of hosts to +which these files are to be copied. Each file in the source list is added to a +list of changes if the file is out of date on the host that is being updated +(second format) or if the file is newer than the time stamp file (third +format). Labels are optional. They are used to identify a command for partial +updates. The colon (\fB:\fR) is used after an optional label, while the double +colon (\fB::\fR) is used for making lists of files that have been changed since +a certain date (specified by the date/time of the \fItime_stamp\fR file). +Typically, only \fBnotify\fR is used with the '\fB::\fR' format of the command +line. +.SS "Macros" +.sp +.LP +\fBrdist\fR has a limited macro facility. Macros are only expanded in filename +or hostname lists, and in the argument lists of certain primitives. Macros +cannot be used to stand for primitives or their options, or the `\fB->\fR' or +`\fB::\fR' symbols. +.sp +.LP +A macro definition is a line of the form: +.sp +.in +2 +.nf +\fImacro\fR \fB=\fR \fIvalue\fR +.fi +.in -2 + +.sp +.LP +A macro reference is a string of the form: +.sp +.in +2 +.nf +\fB${\fR\fImacro\fR\fB}\fR +.fi +.in -2 + +.sp +.LP +although (as with \fBmake\fR(1S)) the braces can be omitted if the macro name +consists of just one character. +.SS "Kerberos Access-Control file" +.sp +.LP +For the kerberized \fBrdist\fR session, each user might have a private +authorization list in a file \fB\&.k5login\fR in their home directory. Each +line in this file should contain a Kerberos principal name of the form +\fIprincipal\fR/\fIinstance\fR@\fIrealm\fR. If there is a \fB~/.k5login\fR +file, then access is granted to the account if and only if the originater user +is authenticated to one of the principals named in the \fB~/.k5login\fR file. +Otherwise, the originating user is granted access to the account if and only if +the authenticated principal name of the user can be mapped to the local account +name using the \fIauthenticated-principal-name\fR \(-> \fIlocal-user-name\fR +mapping rules. The \fB\&.k5login\fR file (for access control) comes into play +only when Kerberos authentication is being done. +.SS "Metacharacters" +.sp +.LP +The shell meta-characters: \fB[\fR, \fB]\fR, \fB{\fR, \fB}\fR, \fB*\fR and +\fB?\fR are recognized and expanded (on the local host only) just as they are +with \fBcsh\fR(1). Metacharacters can be escaped by prepending a backslash. +.sp +.LP +The \fB~\fR character is also expanded in the same way as with \fBcsh\fR; +however, it is expanded separately on the local and destination hosts. +.SS "Filenames" +.sp +.LP +File names that do not begin with `\fB\|/\|\fR\&' or `\fB\|~\|\fR\&' are taken +to be relative to user's home directory on each destination host; they are +\fInot\fR relative to the current working directory. Multiple file names must +be enclosed within parentheses. +.SS "Primitives" +.sp +.LP +The following primitives can be used to specify actions \fBrdist\fR is to take +when updating remote copies of each file. +.sp +.ne 2 +.mk +.na +\fB\fBinstall\fR [\fB-b\fR] [\fB-h\fR] [\fB-i\fR] [\fB-R\fR] [\fB-v\fR] +[\fB-w\fR] [\fB-y\fR] [\fInewname\fR]\fR +.ad +.sp .6 +.RS 4n +Copy out of date files and directories (recursively). If no \fInewname\fR +operand is given, the name of the local file is given to the remote host's +copy. If absent from the remote host, parent directories in a filename's path +are created. To help prevent disasters, a non-empty directory on a target host +is not replaced with a regular file or a symbolic link by \fBrdist\fR. However, +when using the \fB-R\fR option, a non-empty directory is removed if the +corresponding filename is completely absent on the master host. +.sp +The options for \fBinstall\fR have the same semantics as their command line +counterparts, but are limited in scope to a particular map. The login name used +on the destination host is the same as the local host unless the destination +name is of the format \fIlogin@host\fR. In that case, the update is performed +under the username \fIlogin\fR. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fBnotify\fR \fIaddress.\|.\|.\fR\fR +.ad +.sp .6 +.RS 4n +Send mail to the indicated email \fIaddress\fR of the form: +.sp +\fIuser@host\fR +.sp +that lists the files updated and any errors that might have occurred. If an +address does not contain a `\fB@\fR\fIhost\|\fR' suffix, \fBrdist\fR uses the +name of the destination host to complete the address. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fBexcept\fR \fIfilename .\|.\|.\fR\fR +.ad +.sp .6 +.RS 4n +Omit from updates the files named as arguments. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fBexcept_pat\fR \fIpattern .\|.\|.\fR\fR +.ad +.sp .6 +.RS 4n +Omit from updates the filenames that match each regular-expression +\fIpattern\fR (see \fBed\fR(1) for more information on regular expressions). +Note that \fB`\e'\fR and \fB`$'\fR characters must be escaped in the distfile. +Shell variables can also be used within a pattern, however shell filename +expansion is not supported. +.RE + +.sp +.ne 2 +.mk +.na +\fB\fBspecial\fR [\fIfilename\fR] .\|.\|. \fB"\fR\fIcommand-line\|\fR\fB"\fR\fR +.ad +.sp .6 +.RS 4n +Specify a Bourne shell, \fBsh\fR(1) command line to execute on the remote host +after each named file is updated. If no \fIfilename\fR argument is present, the +\fIcommand-line\fR is performed for every updated file, with the shell variable +\fBFILE\fR set to the file's name on the local host. The quotation marks allow +\fIcommand-line\fR to span input lines in the distfile; multiple shell commands +must be separated by semicolons (\fB;\fR). +.sp +The default working directory for the shell executing each \fIcommand-line\fR +is the user's home directory on the remote host. +.RE + +.SS "IPv6" +.sp +.LP +The \fBrdist\fR command is IPv6-enabled. See \fBip6\fR(7P). \fBIPv6\fR is not +currently supported with Kerberos V5 authentication. +.SH EXAMPLES +.LP +\fBExample 1 \fRA Sample distfile +.sp +.LP +The following sample distfile instructs \fBrdist\fR to maintain identical +copies of a shared library, a shared-library initialized data file, several +include files, and a directory, on hosts named \fBhermes\fR and \fBmagus\fR. On +\fBmagus\fR, commands are executed as super-user. \fBrdist\fR notifies +\fBmerlin@druid\fR whenever it discovers that a local file has changed relative +to a timestamp file. (Parentheses are used when the source or destination list +contains zero or more names separated by white-space.) + +.sp +.in +2 +.nf +\fBHOSTS = ( hermes root@magus ) + +FILES = ( /usr/local/lib/libcant.so.1.1 + /usrlocal/lib/libcant.sa.1.1 /usr/local/include/{*.h} + /usr/local/bin ) + +(${FILES}) -> (${HOSTS}) + install \(miR ; +${FILES} :: /usr/local/lib/timestamp + notify merlin@druid ;\fR +.fi +.in -2 +.sp + +.SH FILES +.sp +.ne 2 +.mk +.na +\fB\fB~/.rhosts\fR\fR +.ad +.RS 23n +.rt +User's trusted hosts and users +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB/etc/host.equiv\fR\fR +.ad +.RS 23n +.rt +system trusted hosts and users +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB/tmp/rdist*\fR\fR +.ad +.RS 23n +.rt +Temporary file for update lists +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB$HOME/.k5login\fR\fR +.ad +.RS 23n +.rt +File containing Kerberos principals that are allowed access +.RE + +.sp +.ne 2 +.mk +.na +\fB\fB/etc/krb5/krb5.conf\fR\fR +.ad +.RS 23n +.rt +Kerberos configuration file +.RE + +.SH SEE ALSO +.sp +.LP +\fBcsh\fR(1), \fBed\fR(1), \fBmake\fR(1S), \fBsh\fR(1), \fBin.rshd\fR(1M), +\fBstat\fR(2), \fBhosts.equiv\fR(4), \fBkrb5.conf\fR(4), \fBattributes\fR(5), +\fBkrb5_auth_rules\fR(5), \fBip6\fR(7P) +.SH DIAGNOSTICS +.sp +.LP +A complaint about mismatch of \fBrdist\fR version numbers might really stem +from some problem with starting your shell, for example, you are in too many +groups. +.SH WARNINGS +.sp +.LP +The super-user does not have its accustomed access privileges on \fBNFS\fR +mounted file systems. Using \fBrdist\fR to copy to such a file system might +fail, or the copies might be owned by user "nobody". +.SH BUGS +.sp +.LP +Source files must reside or be mounted on the local host. +.sp +.LP +There is no easy way to have a special command executed only once after all +files in a directory have been updated. +.sp +.LP +Variable expansion only works for name lists; there should be a general macro +facility. +.sp +.LP +\fBrdist\fR aborts on files that have a negative modification time (before Jan +1, 1970). +.sp +.LP +There should be a "force" option to allow replacement of non-empty directories +by regular files or symlinks. A means of updating file modes and owners of +otherwise identical files is also needed. |
