usermod - modify a user's login information on the system usermod



  • System Administration Commands					   usermod(1M)
    
    
    
    NAME
           usermod - modify	a user's login information on the system
    
    SYNOPSIS
           usermod [-u uid [-o]] [-g group]	[-G [+|-]group [, group...]]
    
    	    [-d	dir [-m]] [-s shell] [-c comment] [-l new_name]
    
    	    [-f	inactive] [-e expire] [-p] project, project
    
    	    [-A	[+|-]authorization [,authorization]]
    
    	    [-P	[+|-]profile [,profile]] [-R [+|-]role [,role]]
    
    	    [-K	key[+|-]=value]	[-S repository]	[-q qualifier] login
    
    
    DESCRIPTION
           The  usermod  utility modifies a	user's login definition	on the system.
           It changes the definition of the	specified login	and makes  the	appro-
           priate login-related system file	and file system	changes.
    
    
           The  system  file entries created with this command have	a limit	of 512
           characters per line. Specifying long arguments to several options might
           exceed this limit.
    
    
           For  users  not present in the local files repository, by specifying -S
           option, files will create/modify	a local	files entry for	the user.
    
    
           An administrator	must be	granted	the User Security  Profile  to	modify
           the  security attributes	for an existing	user. To be able to modify the
           non-security attributes of an existing user requires the	 User  Manage-
           ment  Profile. The authorizations required to set the various fields in
           passwd, shadow and user_attr can	be found in passwd(4), shadow(4),  and
           user_attr(4). The authorizations	required to assign groups can be found
           in group(4).
    
    OPTIONS
           The following options are supported:
    
           -A [+|-]authorization
    
    	   One	or  more  comma	 separated  authorizations   as	  defined   in
    	   auth_attr(4).  Only	a  user	 or  role  who has grant rights	to the
    	   authorization can assign it to an account. This replaces any	exist-
    	   ing	authorization  setting.	If no authorization list is specified,
    	   the existing	setting	is removed.
    
    	   A prefix + adds the authorization to	the existing authorization;  a
    	   prefix - removes the	authorization from the existing	authorization.
    	   With	no prefix, authorization replaces the existing authorization.
    
    
           -c comment
    
    	   Specify a comment string. comment can be any	 text  string.	It  is
    	   generally  a	 short description of the login, and is	currently used
    	   as the field	for the	user's full name. This information  is	stored
    	   in the user's passwd	entry.
    
    
           -d dir
    
    	   Specify  the	 new  home  directory  of  the	user.  It  defaults to
    	   base_dir/login, where base_dir is the base directory	for new	 login
    	   home	directories, and login is the new login. This creates or modi-
    	   fies	an auto_home entry for the user.
    
    	   The argument	to the option can be  specified	 as  server:dir	 where
    	   server  is  the hostname of the machine on which the	home directory
    	   resides and dir is the path to the user's home  directory.  If  the
    	   server is a remote host then	the home directory needs to be created
    	   on the remote host for the system to	mount it, when the  user  logs
    	   in.	If no server name is specified then the	home directory will be
    	   created on the host where the command  is  executed,	 when  the  -m
    	   option is used.
    
    
           -e expire
    
    	   Specify  the	 expiration date for a login. After this date, no user
    	   will	be able	to access this login. The expire option	argument is  a
    	   date	entered	using one of the date formats included in the template
    	   file	/etc/datemsk. See getdate(3C).
    
    	   For example,	you may	enter 10/6/90 or October 6, 1990. A  value  of
    	   `` '' defeats the status of the expired date.
    
    
           -f inactive
    
    	   Specify  the	maximum	number of days allowed between uses of a login
    	   ID before that login	ID is declared invalid.	Normal values are pos-
    	   itive integers. A value of 0	defeats	the status.
    
    
           -g group
    
    	   Specify an existing group's integer ID or character-string name. It
    	   redefines the user's	primary	group membership.
    
    
           -G [+|-]group
    
    	   An existing group's integer ID or character-string name. It defines
    	   the	new  user's supplementary group	membership. Duplicates between
    	   group with the  -g  and  -G	options	 are  ignored.	No  more  than
    	   NGROUPS_MAX	groups	can  be	 specified. GIDs 0-99 are reserved for
    	   allocation by the Solaris Operating System.
    
    	   A prefix + adds the group to	the existing group; a prefix - removes
    	   the	group  from the	existing group.	With no	prefix,	group replaces
    	   the existing	group.
    
    
           -K key[+|-]=value
    
    	   Replace existing or add to a	user's key=value pair attributes. Mul-
    	   tiple  -K  options can be used to replace or	add multiple key=value
    	   pairs. However, keys	must not be repeated. The  generic  -K	option
    	   with	 the  appropriate  key	can  be	 used  instead of the specific
    	   implied key options (-A, -P,	-R, -p). See user_attr(4) for  a  list
    	   of valid keys. Values for these keys	are usually found in man pages
    	   or other sources related to those keys. For example,	see project(4)
    	   for	guidance  on  values  for  the	project	 key.  Use the command
    	   ppriv(1) with the -v	and -l options for a list of  values  for  the
    	   keys	 defaultpriv  and  limitpriv.  If  no  value is	specified, the
    	   existing key	is removed.
    
    	   The keyword type can	be specified with the value role or the	 value
    	   normal.  When using the value role, the account changes from	a nor-
    	   mal user to a role; using the value normal keeps the	account	a nor-
    	   mal user.
    
    	   As a	role account, no roles (-R or roles=value) can be present.
    
    	   A prefix + adds the value to	the existing value; a prefix - removes
    	   the value from the existing value. With no prefix,  value  replaces
    	   the existing	value.
    
    	   The	prefix +/- operation is	applicable only	to the following keys:
    	   auths, profiles, auth_profiles, roles, project, limitpriv, default-
    	   priv, auth_profiles,	and access_times.
    
    
           -l new_logname
    
    	   Specify  the	 new  login  name  for the user. See passwd(4) for the
    	   requirements	for usernames.
    
    
           -m
    
    	   Move	the user's home	directory to the new directory specified  with
    	   the	-d  option. If the directory already exists, it	must have per-
    	   missions read/write/execute by group, where	group  is  the	user's
    	   primary  group.  If the server name specified to the	-d option is a
    	   remote host then the	system will not	attempt	 to  create  the  home
    	   directory.
    
    	   If  the directory does not already exist, a new ZFS dataset will be
    	   created.  In	 the  global  zone,  the   dataset   is	  created   as
    	   rpool/export/home/rolename.	For non-global zones, the dataset will
    	   be created as ROOT-dataset/export/home/rolename. The	mountpoint for
    	   the	ZFS dataset is /export/home/rolename by	default. If -d path is
    	   specified and it is a path on the local machine, the	 dataset  will
    	   be mounted at the specified location. The role is delegated permis-
    	   sions to create ZFS snapshots and promote them. The	newly  created
    	   dataset  will inherit the encryption	setting	from its parent. If it
    	   is encrypted, the role is granted permission	to change its wrapping
    	   key.
    
    
           -o
    
    	   This	option allows the specified UID	to be duplicated (non-unique).
    
    
           -p
    
    	   An  existing	 projects  integer  ID	or  character-string  name. It
    	   defines the user's supplementary project membership.
    
    
           -P [+|-]profile
    
    	   One	or   more   comma-separated   rights   profiles	  defined   in
    	   prof_attr(4).   This	 replaces  any	existing  profile  setting  in
    	   user_attr(4). If an empty profile list is specified,	 the  existing
    	   setting is removed.
    
    	   A  prefix  +	 adds  the profile to the existing profile; a prefix -
    	   removes the profile from the	existing profile. With no prefix, pro-
    	   file	replaces the existing profile.
    
    
           -q qualifier
    
    	   The	name  of a host	or netgroup which qualifies where the extended
    	   attributes (specified through -K, -P, -A, and + -R) are applicable.
    	   The	prefix	@ is required to indicate that the qualifier is	a net-
    	   group name. The -q option is	only valid  if	the  user  account  is
    	   maintained in the LDAP name service.
    
    
           -R [+|-]role
    
    	   One	or more	comma-separated	roles (see roleadd(1M)). This replaces
    	   any existing	role setting. If no role list is specified, the	exist-
    	   ing setting is removed.
    
    	   A  prefix  +	adds the role to the existing role; a prefix - removes
    	   the role from the existing role. With no prefix, role replaces  the
    	   existing role.
    
    
           -s shell
    
    	   Specify the full pathname of	the program that is used as the	user's
    	   shell on login. The value of	shell must be a	valid executable file.
    
    
           -S repository
    
    	   The valid repositories are files, ldap.  The	 repository  specifies
    	   which  name	service	 will  be  updated.  The default repository is
    	   files. When the repository is files,	the authorizations,  profiles,
    	   and roles can be present in other name service repositories and can
    	   be assigned to a user in the	files repository. When the  repository
    	   is  ldap, all the assignable	attributes must	be present in the ldap
    	   repository.
    
    
           -u uid
    
    	   Specify a new UID for the user. It must be a	 non-negative  decimal
    	   integer less	than MAXUID as defined in <param.h>.
    
    
    OPERANDS
           The following operands are supported:
    
           login
    
    	   An existing login name to be	modified.
    
    
    EXAMPLES
           Example 1 Assigning Privileges to a User
    
    
           The  following  command adds the	privilege that affects high resolution
           times to	a user's initial, inheritable set of privileges.
    
    
    	 # usermod -K defaultpriv=basic,proc_clock_highres jdoe
    
    
    
    
           This command results in the following entry in user_attr:
    
    
    	 jdoe::::type=normal;defaultpriv=basic,proc_clock_highres
    
    
           Example 2 Removing a Privilege from a User's Limit Set
    
    
           The following command removes the privilege that	allows	the  specified
           user to create hard links to directories	and to unlink directories.
    
    
    	 # usermod -K limitpriv=all,!sys_linkdir jdoe
    
    
    
    
           This command results in the following entry in user_attr:
    
    
    	 jdoe::::type=normal;defaultpriv=basic,limitpriv=all,!sys_linkdir
    
    
           Example 3 Removing a Privilege from a User's Basic Set
    
    
           The  following  command removes the privilege that allows the specified
           user to examine processes outside the user's session.
    
    
    	 # usermod -K defaultpriv=basic,!proc_session jdoe
    
    
    
    
           This command results in the following entry in user_attr:
    
    
    	 jdoe::::type=normal;defaultpriv=basic,!proc_session;limitpriv=all
    
    
           Example 4 Assigning a Role to a User
    
    
           The following command assigns a role to a user. The role	must have been
           created prior to	this command through use of roleadd(1M).
    
    
    	 # usermod -R mailadm jdoe
    
    
    
    
           This command results in the following entry in user_attr:
    
    
    	 jdoe::::type=normal;roles=mailadm;defaultpriv=basic;limitpriv=all
    
    
           Example 5 Granting an Authorization Role	to a User
    
    
           The  following  command	grants	the solaris.zone.manage	authorization,
           Project Management rights profile, sets limit privilege	to  basic  and
           assigns the mailadm role	to the user.
    
    
    	 # usermod -A 'solaris.zone.manage' -P 'Project	Management' -K limitpriv=basic
    
    	  -R mailadm -S	files jdoe_ldap
    
    
    
    
           This command results in the following entry in user_attr:
    
    
    	 jdoe_ldap::::auths=solaris.zone.manage;profiles=ProjectManagement;limitpriv=basic;
    
    	 roles=mailadm
    
    
           Example 6 Removing All Profiles from a User
    
    
           The  following command removes all profiles that	were granted to	a user
           directly. The user will still have any rights profiles that are granted
           by means	of the PROFS_GRANTED key in policy.conf(4).
    
    
    	 # usermod -P "" jdoe
    
    
    
    EXIT STATUS
           In case of an error, usermod prints an error message and	exits with one
           of the following	values:
    
           1     No	permission for attempted operation.
    
    
           2     The command syntax	was invalid. A usage message for  the  usermod
    	     command is	displayed.
    
    
           3     An	invalid	argument was provided to an option.
    
    
           4     The gid or	uid given with the -u option is	already	in use.
    
    
           5     The password and shadow files are not consistent with each	other.
    	     pwconv(1M)	might be  of  use  to  correct	possible  errors.  See
    	     passwd(4) and shadow(4).
    
    
           6     The  login	to be modified does not	exist, the gid or the uid does
    	     not exist.
    
    
           7     The group,	passwd,	or shadow file is missing.
    
    
           9     A group or	user name is already in	use.
    
    
           10    Cannot update the passwd, shadow, or user_attr file.
    
    
           11    Insufficient space	to move	the home directory (-m option).
    
    
           12    Unable to create, remove, or move the new home directory.
    
    
           13    Requested login is	already	in use.
    
    
           14    Unexpected	failure.
    
    
           16    Unable to update the group	database.
    
    
           17    Unable to update the project database.
    
    
           18    Insufficient authorization.
    
    
           19    Does not have role.
    
    
           20    Does not have profile.
    
    
           21    Does not have privilege.
    
    
           22    Does not have label.
    
    
           23    Does not have group.
    
    
           24    System not	running	Trusted	Extensions.
    
    
           25    Does not have project.
    
    
           26    Unable to update auto_home.
    
    
    FILES
           /etc/group
    
    	   system file containing group	definitions
    
    
           /etc/datemsk
    
    	   system file of date formats
    
    
           /etc/passwd
    
    	   system password file
    
    
           /etc/shadow
    
    	   system file	containing  users'  encrypted  passwords  and  related
    	   information
    
    
           /etc/user_attr
    
    	   system file containing additional user and role attributes
    
    
    ATTRIBUTES
           See attributes(5) for descriptions of the following attributes:
    
    
    
    
           +-----------------------------+-----------------------------+
           |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
           +-----------------------------+-----------------------------+
           |Availability		     |system/core-os		   |
           +-----------------------------+-----------------------------+
           |Interface Stability	     |Committed			   |
           +-----------------------------+-----------------------------+
    
    SEE ALSO
           auths(1),  chown(1),  passwd(1),	 profiles(1), users(1B), groupadd(1M),
           groupdel(1M),  groupmod(1M),   logins(1M),   pwconv(1M),	  roleadd(1M),
           roledel(1M),   rolemod(1M),   useradd(1M),   userdel(1M),  getdate(3C),
           auth_attr(4), passwd(4),	 policy.conf(4),  prof_attr(4),	 user_attr(4),
           attributes(5)
    
    NOTES
           The  usermod utility modifies definitions in the	passwd,	shadow,	group,
           project,	and user_attr databases	in the scope (default  or  specified).
           The utility will	verify the uniqueness of user name and user ID against
           the external name service.
    
    
           The  usermod  utility  uses  the	 /etc/datemsk  file,  available	  with
           SUNWaccr, for date formatting.
    
    
    
    SunOS 5.11			  19 Nov 2013			   usermod(1M)
    

Log in to reply
 

© Lightnetics 2024