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 con-
figuration 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 corre-
sponds to the GROUP_BASE configuration option.
-H hash, --hash=hash
Hash should be one of sha1, md5, ssha1, smd5, crypt, 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 ser-
vice. 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 gen-
erated 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 associ-
ated 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
(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.
-y, --yes
Reply yes to any questions (such as whether it is ok to remove a
directory)
-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 admin-
istration 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
-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 com-
mand line one can specify it with the DEFAULT_SHELL configura-
tion 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_UIDNUM-
BER, MIN_UIDNUMBER, ID_MAX_PASSES, and RANDOM in the configura-
tion 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).
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 spec-
ified 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 gener-
ated by not specifying this option. This generation can be modi-
fied 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
Man(1) output converted with
man2html