Provided by: cpu_1.4.3-12_amd64 bug

NAME

       cpu - a user administration tool for LDAP backends

SYNOPSIS

       cpu user{add,del,mod} [options] login

       cpu group{add,del,mod} [options] group

       cpu cat

DESCRIPTION

       The  ldap  module  for  cpu  provides  a means for administering groups and users being stored on an LDAP
       backend. Complete compatibility with the  GNU/Linux  versions  of  the  shadow  utils  has  tried  to  be
       maintained  in  terms of command line options. This module also supports several options that traditional
       user utilities do not such as; selecting which hash to use for the  user,  generating  random  or  linear
       uid's and gid's and pulling information for a user from existing password and shadow files.

LDAP OPTIONS

       The  LDAP  options are options that are used specifically for the LDAP server.  They may be combined with
       any of the cpu functions.

       -2, --2
              Use LDAPv2 instead of LDAPv3

       -a file, --addfile=file
              If a filename is given, it will be parsed and any additional ldap  attributes  specified  in  this
              file  will be added along with the user or group. This file should not contain any attributes that
              CPU requires or that you have already specified in the configuration file.  If  you  do  this  the
              modification/addition  will  fail  or create multivalued attributes. The format of the file should
              be:

               <attrdesc>: <attrvalue>
               <attrdesc>: <attrvalue>
               <attrdesc>:: <base64-encoded-value>
               ...

       -A cn, --cn=cn
              This options specifies for a user what the dn should look like. If you specify  -A  foo  for  some
              user,  their  dn  will  look like foo=username,... This can be specified in the configuration file
              with USER_CN_STRING

       -B base, --groupbase=base
              This is the base to search for groups  in.  This  is  required  for  useradd  and  for  any  group
              functions.  This  should  be  a  fully  qualified  base  such  as  ou=groups,o=company,c=us.  This
              corresponds to the GROUP_BASE configuration option.

       -D bind_dn, --binddn=bind_dn
              The bind_dn should be a DN with adequate credentials for the operation that  you  are  requesting.
              This corresponds to the BIND_DN configuration file option.

       -F[file], --passfile[=file]
              If an argument is provided, that file should be of a Unix style password format. If no argument is
              provided, the configuration file variable PASSWORD_FILE will be used.  Please  be  sure  that  the
              switch  (-F  or  --passfile)  has no trailing whitespace, it should be immediately followed by the
              argument. The information associated with the user will be used for populating  their  LDAP  entry
              (uid, gid, gecos, home directory, shell).

       -H hash, --hash=hash
              Hash  should  be  one of sha1, md5, ssha1, smd5, crypt, md5crypt or clear. This corresponds to the
              HASH configuration file variable. Select the hash that is being used at your site.

       -N hostname, --hostname=hostname
              Hostname should be the hostname that is running the LDAP service. This may be  an  IP  address  or
              hostname. This corresponds to the LDAP_HOST variable in the configuration file.

       -o, --nonposix
              Violate  POSIX  naming standards and allow characters in user and group names not in the character
              set [A-Za-z0-9._-]. This is useful for things like adding Samba machine accounts.

       -P port, --port=port
              Port should be the port that the LDAP server is listening on. This corresponds  to  the  LDAP_PORT
              option in the configuration file.

       -R length, --random=random
              length should be the length that you would like a randomly generated password to be. This password
              will be displayed to the user.

       -S[file], --shadfile[=file]
              If an argument is provided, that file should be of a Unix style shadow format. If no  argument  is
              provided, the configuration file variable SHADOW_FILE will be used. Please be sure that the switch
              (-S or --shadfile) has no trailing whitespace, it should be immediately followed by the  argument.
              The  information  associated with the user will be used for populating their LDAP entry (password,
              sp_lstchg, sp_min, sp_max, sp_warn, sp_inact, sp_expire).

       -t timeout, --timeout=timeout
              This value is used to specify how long (in seconds) before LDAP operations should  time  out.  The
              corresponding configuration file is TIMEOUT.

       -U base, --userbase=base
              This is the base to search for users in. This is required for any user functions. This should be a
              fully  qualified  base  such  as  ou=users,o=company,c=us.  This  corresponds  to  the   USER_BASE
              configuration option.

       -w[pass], --bindpass[=pass]
              If  an  argument  is  provided,  that  value will be used for the bind password. If no argument is
              provided, the user will be prompted for a password. This option can be omitted by  specifying  the
              password  in  the  configuration  file  with  the option BIND_PASS. If a value is specified at the
              command line, the switch should have no whitespace following it.

       -x, --tls
              Try to starttls before talking with the ldap server.

       The following options can be used for populating LDAP attributes.

       -f name, --firstname=name
              Name is used in possible combination with lastname in order to have a more complete CN. This value
              is also used for the givenName (gn) attribute. This value is not required by RFC2307.

       -E name, --lastname=name
              Name  is  used  in  possible  combination with firstname in order to have a more complete CN. This
              value is also used for the surname (sn) attribute. This value is not required by RFC2307.

       -e address, --email=address
              The value address is used to populate the mail  attribute.  This  attribute  is  not  required  by
              RFC2307 for posixAccount but many people's LDAP schemas do require it. inetOrgPerson is one object
              that contains it.

       The following options are not LDAP specific.

       -h, --help
              Display help.

       -v, --verbose
              Turn the verbose level up.

       -V, --version
              Display the version of the module.

cpu cat

       The cat command will cause any users and groups stored in the LDAP directory to be displayed  in  a  Unix
       style format. cat requires no options.

cpu useradd [options] login

       The useradd function is used to add new users to an LDAP directory. The options are similar to those used
       by traditional GNU/Linux user administration utilities.

       -c comment, --gecos=comment
              The value specified is used to populate the gecos attribute. You can specify a  default  value  in
              the configuration file using the GECOS variable. This is not required by RFC2307. This can also be
              populated using the -F option (see above).

       -d home_dir, --directory=home_dir
              The new user will be created using home_dir as the value  for  the  user's  login  directory.  The
              default  is  to  append  login to HOME_DIRECTORY (from the configuration file) and use that as the
              login directory name. This is required by RFC2307.

       -g initial_group, --gid=initial_group
              The group id or name of the user's initial login group. The group should exist but does  not  have
              to.  CPU  will  search  the LDAP directory and warn you if that group does not exist. If the group
              does exist, the users gidNumber will be set to the gidNumber of that group. This  is  required  by
              RFC2307.  If unspecified CPU will search for the next unused GID. This behavior can be adjusted by
              MAX_GIDNUMBER, MIN_GIDNUMBER, ID_MAX_PASSES, and RANDOM in the configuration file.

       -G group,[...] --sgroup=group,[...]
              A list of supplementary groups which the user is also a member of. Each group  is  separated  from
              the  next  by  a  comma,  with  no intervening whitespace. CPU will search the directory for these
              groups, and if found, add the user to those groups. The default is for the user to belong only  to
              the initial group.

       -k[skeleton_dir] --skel[=skeleton_dir]
              This  option  is  only  useful  is specified along with the -m option.  If both are specified, the
              contents of skeleton_dir will be copied to the  users  new  home  directory.  If  skeleton_dir  is
              specified  it  should  have  no whitespace between the command line switch. If skeleton_dir is not
              specified, the value of SKEL_DIR as specified in the configuration file will be used.

       -m, --makehome
              The user's home directory  will  be  created  if  it  does  not  exist.  The  files  contained  in
              skeleton_dir  will be copied to the home directory if the -k option is used. The -k option is only
              valid in conjunction with the -m options. The default is to not create the directory  and  to  not
              copy any files.

       -p[passwd] --password[=password]
              The  encrypted  or  unencrypted password. If no argument is given, the user is prompted to enter a
              password. If CPU was compiled with libcrack, the password will be checked  for  weakness.  If  the
              password  is  encrypted, hash should be the value of the hash type that was used. If not specified
              at the command line or found in the shadow file (if -S was used) * is used which should  lock  the
              account.

       -s shell, --shell=shell
              The  name  of the user's login shell. If not specified at the command line one can specify it with
              the DEFAULT_SHELL configuration file option. This is not required by RFC2307.

       -u uid, --uid=uid
              The numerical value of the user's ID. This value must be unique, the value must  be  non-negative.
              If  unspecified CPU will search for an unused UID. This behavior can be adjusted by MAX_UIDNUMBER,
              MIN_UIDNUMBER, ID_MAX_PASSES, and RANDOM in the configuration file.

       -X script, --exec=script
              After the user has successfully been added to the directory, execute this script.  The  script  is
              passed  the login name. If this option is not supplied, the configuration file will be checked for
              ADD_SCRIPT.

cpu usermod [options] login

       All options that apply to useradd also apply to usermod except for -k.

       -l login_name, --newusername=login_name
              The name of the user will be changed from login to login_name. The LDAP attributes cn and uid  are
              changed  to  login_name,  the  users rdn is also modified. If specified in conjunction with the -m
              switch, the users old home directory will be copied the  the  appropriate  new  location  (see  -d
              switch for behavior).

       -L, --lock
              Lock the given user account

       -U, --unlock
              Unlock the given user account

cpu userdel [options] login

       The userdel command modifies the LDAP directory, deleting all entries that refer to login. The named user
       must exist. The options which apply to the userdel command are:

       -r, --removehome
              Files in the user's home directory will be removed along with the home directory itself. The users
              mail  spool  is  not deleted. Files located in other file systems will have to be searched for and
              deleted manually.

       -X script, --exec=script
              After the user has successfully been removed from the directory, execute this script.  The  script
              is  passed  the login name. If this option is not supplied, the configuration file will be checked
              for DEL_SCRIPT.

cpu groupadd [options] group

       The groupadd command creates a new group account using the values specified on the command line  and  the
       default  values  from  the  configuration  file. The new group will be entered into the LDAP directory as
       needed. The options which apply to the groupadd command are

       -g gid, --gid=gid
              The numerical value of the group's ID. This value  should  be  unique.  The  value  must  be  non-
              negative.  A  new  gid  can  be  generated  by  not specifying this option. This generation can be
              modified by changing the configuration file.

cpu groupmod [options] group

       The groupmod command modifies the group specified at the command line. The options  which  apply  to  the
       groupmod command are

       -g gid, --gid=gid
              The  numerical  value  of  the  group's  ID.  This  value should be unique. The value must be non-
              negative.

       -n group_name, --newgroupname=group_name
              The name of the group will be changed from group to group_name.  The  cn  and  rdn  will  also  be
              modified.

cpu groupdel [options] group

       The groupdel command removes the group specified at the command line from the LDAP directory.

SEE ALSO

       cpu.conf(5) cpu(8)

AUTHORS

       Blake Matheny <bmatheny@purdue.edu>

       The current version of this software is always available at http://cpu.sourceforge.net

BUGS

       To report a bug or problem, please e-mail:

       cpu-users@lists.sourceforge.net

TODO

       See TODO file that accompanied software. Please e-mail us with any additional suggestions.

                                                17 February 2003                                     CPU-LDAP(8)