uss add                    AFS Commands                 uss add


NAME

   uss add -- create user account.


   uss add  -user <login name>  [-realname <full name in
   quotes>]
   [-pass <initial passwd>]  [-server <file server for home
   volume>]
   [-partition <file server's disk partition for home volume>]
          [-mount <home directory mount point>]
   [-uid <uid to assign the user>]
   [-template <pathname of template file>]
                                                        +
   [-verbose] [-var <auxiliary argument pairs (num val)> ]
   [-cell <cell name>]  [-admin <administrator to
   authenticate>]
   [-dryrun]  [-overwrite]  [-help]

ACCEPTABLE ABBREVIATIONS/ALIASES

   uss ad -us <login name>  [-r <full name in quotes>]
   [-pas <initial passwd>]  [-s <file server for home volume>]
       [-par <file server's disk partition for home volume>]
   [-m <home directory mount point>]  [-ui <uid to assign the
   user>]
   [-t <pathname of template file>]  [-ve]  [-va <auxiliary
                            +
   argument pairs (num val)> ]
   [-c <cell name>]  [-a <administrator to authenticate>]  [-d]
   [-o]  [-h]

DESCRIPTION

   Creates    entries    in   the   Protection   Database   and
   Authentication Database for the user name login  name.    If
   initial  passwd  is  provided,  it  is  stored as the user's
   password in the  Authentication  Database  after  conversion
   into a form suitable for use as an encryption key.  , or the
   By default, the Protection Server automatically allocates an
   AFS  UID  for  the  new  user;  the  issuer  may  specify an
   alternate with the -uid argument.

   The other results of the command depend on what  appears  in
   the  template file specified with pathname of template file.
   The issuer must provide  any  argument  whose  corresponding
   variable  appears  in  the  template  (the ARGUMENTS section
   below maps the arguments and  variables).    If  the  issuer
   provides  an  argument  for which the corresponding variable
   does not appear in  the  template,  the  value  is  ignored.
   Failure to provide a value for a variable causes the account
   creation to fail at the point where the command  interpreter
   first encounters the variable in the template.

   Syntax  definitions  for  the  lines  in the template follow
   descriptions of the uss commands.

WARNING

   If this command is issued on a machine  running  Ultrix  and
   the  template file being used is not 0-length, the user must



   use the -admin argument to adopt a privileged  AFS  identity
   while  remaining  "root"  in  the  local machine's UNIX file
   system.  Ultrix allows only "root" to issue  the  /etc/chown
   command  that  uss add invokes to set the owner of files and
   directories created by template lines.  At  the  same  time,
   AFS  allows only a privileged administrator to issue the AFS
   commands invoked; "root" is not normally  a  privileged  AFS
   administrator.

   Other  operating  systems  allow  users other than "root" to
   issue /etc/chown, but users may still find it convenient  to
   adopt different identities in the AFS and UNIX file systems.
   Being authenticated in AFS as a privileged user is  required
   under all operating systems.

ARGUMENTS

   -user     specifies the user name that the user will type at
             the login prompt.  It also becomes the name of the
             user's   Protection  and  Authentication  Database
             entries.

             Corresponding variable in template:  $USER.

   -realname specifies the user's real name.  Surround it  with
             double  quotes  as  delimiters,  since it contains
             spaces and possibly punctuation.  If not provided,
             it defaults to the user name provided with -user.

             Corresponding  variable  in  template: $NAME.  The
             most common use for this variable is when creating
             a  file  to  be  incorporated  as  an entry in the
             cell's /etc/passwd file.

   -pass     defines the user's initial password.    Many  UNIX
             applications and utilities require that this be no
             longer than eight  characters;  the  AFS  commands
             that  handle passwords accept strings of virtually
             unlimited length.  If not provided, this  argument
             defaults to the string changeme.

             Corresponding variable in the template: none.

   -server   specifies  the  file  server  machine on which the
             user's volume will reside.

             Corresponding variable in template: $SERVER.

   -partition
             specifies  the  partition  on file server for home
             volume on which the user's volume will reside.

             Corresponding variable in template: $PART.

   -mount    specifies  the  pathname  to   the   user's   home
             directory.   If the issuer does not provide a full
             pathname,  it  is  interpreted  relative  to   the
             working directory.

             Corresponding  variable in template: $MTPT, but on
             the "V" line only.  Occurrences of $MTPT on  lines



             following  the  "V" line take their value from the
             "V" line's <mount point> field.   Thus  the  exact
             value  of  this  command line argument becomes the
             value for post-"V" line occurrences of $MTPT  only
             if $MTPT appears alone in the <mount point> field.

   -uid      specifies  the  AFS  UID to be assigned to the new
             user.  It should  be  a  positive  integer.    The
             issuer  may  wish  to  pre-verify with pts listmax
             that the  intended  number  is  greater  than  the
             current  largest AFS UID: if the requested AFS UID
             is already  in  use,  the  account  creation  will
             terminate  with  an error.  If the issuer does not
             provide  this  argument,  the  Protection   Server
             assigns  an  AFS UID automatically; as with manual
             account   creation,   automatic   allocation    is
             preferred.

             Corresponding variable in template: $UID.

   -template specifies  which  template the command interpreter
             should consult.  If the issuer  does  not  provide
             this argument, the command interpreter looks for a
             template  called  uss.template  in  the  following
             directories, which it searches in this order:

                1. the working directory

                2. /afs/cellname/common/uss,         where
                   cellname names the local cell

                3. /etc

             If  the  issuer  provides  a   name   other   than
             uss.template   without  a  pathname,  the  command
             interpreter looks for it in the  directories  just
             listed, in the same order.  If the issuer provides
             a  full   or   partial   pathname,   the   command
             interpreter  consults  the  specified file without
             consulting  the  directories   just   listed;   it
             interprets   partial  pathnames  relative  to  the
             working directory.

             If the template is 0-length, the new account  will
             consist  solely  of  Protection and Authentication
             Database entries.

   -verbose  causes the command interpreter to produce  a  more
             detailed trace of the actions it is executing.  By
             default, only warnings and error messages appear.

   -var      specifies values for each of the number  variables
             $1  through  $9  found in the template. The number
             variables allow the issuer to provide  values  for
             variables not built-in to the uss add command.

             Corresponding  variables  in  template: $1 through
             $9.



             Each instance of  this  argument  has  two  parts,
             separated by a space:

                - an integer between 1 and 9, not preceded
                  by the dollar sign.  Each number matches
                  the variable in the template.

                - a value

             See   the   chapter  on  uss  in  the  AFS  System
             Administrator's Guide for further explanation.

   -cell     specifies the cell in which to  run  the  command.
             See  section  7.1 in the Reference Manual for more
             details.  -admin
             names  the  user  whom  the Authentication Servers
             should authenticate for purposes  of  creating  an
             Authentication Database entry.  See section 7.1 in
             the Reference Manual  for  more  details.    Note:
             Issuers of this command on machines running Ultrix
             must use  this  argument  in  order  to  adopt  an
             privileged  AFS identity while remaining "root" in
             the local machine's UNIX file  system.    See  the
             preceding WARNING.

   -dryrun   indicates  that the command interpreter should not
             actually execute the command,  but  should  report
             all  the actions it would perform if executing it.
             See section 7.1 in the Reference Manual  for  more
             details.

   -overwrite
             instructs the command interpreter to overwrite any
             directories,  files  and  links  that exist in the
             file  system  and  for   which   it   also   finds
             definitions on template "D", "E", "F", "L" and "S"
             lines.  If  this  flag  is  omitted,  the  command
             interpreter prompts once for confirmation that the
             issuer  really  wants  to   overwrite   all   such
             elements.

   -help     prints  the  online help for this command.  Do not
             provide any other arguments  or  flags  with  this
             one.   See section 7.1 in the Reference Manual for
             more details.

EXAMPLES

   When the template  is  0-length,  the  following  creates  a
   "dummy"  account called admin with entries in the Protection
   and Authentication Databases only.

   % uss add admin

   The combination of the following "V" line  in  the  template
   uss.tpl   and   uss add   command   creates  Protection  and
   Authentication Database entries for user  name  smith.    It
   would also create a volume called user.smith with a quota of
   2500        kilobyte        blocks,        mounted        at
   /afs/transarc.com/usr/smith,  the  ACL for which gives smith
   all rights.  See the description of  the  "V"  line  for  an



   explanation  of  its  fields.  Note that only the template's
   name is provided, not its pathname,  as  it  is  assumed  it
   resides in one of the three expected directories.

       V user.$USER $SERVER.transarc.com /vice$PART $1
            /afs/transarc.com/usr/$USER $UID $USER all

   % uss add smith "John Smith" js_pswd fs2 b -t uss.tpl -v 1
   2500

   The  chapter  on uss in the AFS System Administrator's Guide
   presents  more  extended  examples  of  template  lines  and
   commands.

PRIVILEGE REQUIRED

   Issuer (or person named with -admin flag) must belong to the
   system:administrators group in the Protection  Database  and
   must  have  the  ADMIN  flag  in  his  or her Authentication
   Database entry.  If the template contains a  "V"  line,  the
   issuer must be listed in /usr/afs/etc/UserList and must have
   at least ADMINISTER and INSERT rights in the directory where
   the  mount point is to be created.  If the template includes
   lines that create other types of objects (directories, files
   or  links),  the issuer must have the privilege(s) necessary
   to create them.

   Under Ultrix, only "root" can issue the  /etc/chown  command
   invoked  when  a  file  or  directory  is  created.  See the
   WARNING section.
