chiark / gitweb /
Better documented defaults.
[chiark-utils.git] / sync-accounts / sync-accounts
index 637c1752989856452ca53ebeea7ba634296f9532..50f7e33e174dd742ccec7e03bf66684542f61508 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: sync-accounts,v 1.14 1999-01-03 15:52:58 ian Exp $
+# $Id: sync-accounts,v 1.15 1999-01-03 17:45:15 ian Exp $
 # usage: sync-accounts [-n] [-C<config-file>] [<host> ...]
 # options:
 #   -n     do not really do anything
 #
 # Some config file directives apply globally and should appear first:
 #
-#  lockpasswd <suffix/filename>
-#  lockgroup <suffix/filename>
+#  lockpasswd <suffix/filename>                [mandatory]
+#  lockgroup <suffix/filename>         [usu. mandatory]
 #      Specifies the lockfile suffix or pathname to use when editing
 #      the passwd and group files.  The value is a suffix if it does
 #      not start with `/'.  If set to /dev/null no locking is done.
 #
-#  logfile <filename>
+#  logfile <filename>                  [default=stdout]
 #      Append log messages to <filename> instead of stdout.
 #      Errors still go to stderr.
 #
 # different points in the file.  The most-recently-seen value is used
 # at each point:
 #
-#  uidmin <min>
-#  uidmax <max>
-#  homebase <pathname>
+#  uidmin <min>                                [no default]
+#  uidmax <max>                                [no default]
+#  homebase <pathname>                 [default=/home]
 #      When an account is to be created, a uid/gid will be chosen
 #      which is one higher than the highest currently in use (except
 #      that ids outside the range <min>-<max> are ignored and will
 #      never be used).  The default home directory location is
 #      <pathname>/<username>.
 #
-#  sameuid
-#  nosameuid
+#  sameuid                     [this or uidmin/max req'd for creation]
+#  nosameuid                           [default]
 #      Specifies whether uids are supposed to match.  The default is
 #      nosameuid.  When sameuid is on, it is an error for the uid or
 #      gid of a local account not to match the corresponding remote
 #      account, and new local accounts will get the remote accounts'
 #      ids.
 #
-#  usergroups
+#  usergroups                          [default]
 #  nousergroups
 #  defaultgid <gid>
 #      Specifies whether local accounts are supposed to have
@@ -63,8 +63,8 @@
 #      is `usergroups'.
 #
 #  createuser
-#  createuser <commandname>
-#  nocreateuser
+#  createuser <commandname>    [=`createuser sync-accounts-createuser']
+#  nocreateuser                                [default]
 #      Specifies whether accounts found on the remote host should be
 #      created if necessary, and what command to run to do the
 #      creation (eg, setup of home directory).  The default is
@@ -90,7 +90,7 @@
 #      the account will not be created after all.
 #
 #  group <glob-pattern>
-#  nogroup <glob-pattern>
+#  nogroup <glob-pattern>              [default=`nogroup *']
 #      Specifies that the membership of the local groups specified
 #      should be adjusted or not adjusted whenever account data for a
 #      particular user is copied, so that the account will be a member
@@ -99,7 +99,7 @@
 #      glob-pattern for a particular group takes effect.  The default
 #      is `nogroups *'.
 #
-#  defaultshell <pathname>
+#  defaultshell <pathname>             [default=/bin/sh]
 #      If, when creating an account, the remote account's shell is not
 #      available on the local system, this value will be used.  The
 #      default is /bin/sh.
 # Some config file directives are per-host, and should appear before
 # any directives which actually modify accounts:
 #
-#  host <shorthostname>
+#  host <shorthostname>                        [required]
 #      Starts a host's section.  This resets the per-host parameters
 #      to the defaults.  The shorthostname need not be the host's
 #      official name in any sense.  If sync-accounts is invoked with
 #      host names on the command line they are compared with the
 #      shorthostnames.
 #
-#  getpasswd <command>
-#  getgroup <command>
+#  getpasswd <command>                 [required]
+#  getgroup <command>                  [required for group sync.]
 #      Commands to run on the local host to get the passwd, shadow and
 #      group data for the host in question.  getpasswd must be
 #      specified if user data is to be transferred; getgroup must be
 #      specified if group data is to be transferred.
 #
-#  getshadow <command>
+#  getshadow <command>                 [optional]
 #      Specifies that shadow file data is to be used (by default,
 #      password information is found from the output of getpasswd).
 #      The command should emit shadow data in the format specified by