Part I Managing User Accounts and Groups
This part provides instructions for managing users and groups. This part contains these chapters.
Chapter 1 Managing User Accounts and Groups (Overview)
This chapter provides guidelines and planning information for managing user accounts and groups,
and it provides overview information about setting up user accounts and groups in a network environment.
This chapter also includes information about the files used to store user account and group information
and about customizing the user's work environment.
This is a list of the overview information in this chapter.
For instructions about how to manage users accounts and groups, see Chapter 2, Setting Up and Maintaining User Accounts and Groups
(Tasks).
What Are User Accounts and Groups
One of the basic system administration tasks is to set up a user account for each user at a site.
A typical user account includes the information a user needs to log in and use a system (without having
the system's root password). User account information consists of four main components:
-
User name - A name that a user uses to log in to a system (also known as a login
name).
-
Password - A secret combination of characters that a user must enter
with a user name to gain access to a system.
-
User's home directory - A directory that is usually the user's current
directory at login. It typically contains most of the user's files.
-
User initialization files - Shell scripts that control how the user's
working environment is set up when a user logs in to a system.
Also, when you set up a user account, you can add the user to predefined groups of users. A typical
use of groups is to set up file and directory access only to users who are part of a group (using the
group permissions on a file or directory).
For example, you might have a directory containing top secret files that only a few users should
be able to access. You could set up a group called topsecret that included the users
working on the top secret project, and you could set up the top secret files with read permission for
the topsecret group. That way, only the users in the topsecret group
would be able to read the files.
Guidelines for Managing User Accounts
The following sections describe some guidelines and planning information for creating user accounts.
Name Services
If you are managing user accounts for a large site, you may want to consider using a name service
such as NIS or NIS+. A name service enables you to store user account information in a centralized manner
instead of storing user account information in every system's /etc files. When using
a name service for user accounts, users can move from system to system using the same user account without
having site-wide user account information duplicated in every system's /etc files.
Using a name service also promotes centralized and consistent user account information.
User (Login) Names
User names, also called login names, let users access their own systems and remote systems that
have the appropriate access privileges. You must choose a user name for each user account you create.
User names must:
-
Be unique within your organization, which may span multiple domains
-
Contain from two to eight letters and numerals (the first character must be
a letter and at least one character must be a lowercase letter)
-
Not contain an underscore or space
It is helpful to establish a standard way of forming user names, and the names should be easy for
users to remember. A simple scheme when selecting a user name is to use the first name initial and first
seven letters of the user's last name. For example, Ziggy Ignatz becomes zignatz. If
that scheme results in duplicate names, you can use the first initial, middle initial, and the first six
characters of the user's last name. For example, Ziggy Top Ignatz becomes ztignatz.
If that still results in duplicate names, you can use the first initial, middle initial, first five characters
of the user's last name, and the number 1, or 2, or 3, and so on, until you have a unique name.
Note -
Each new user name must be distinct from any mail aliases known to the system or to an NIS or NIS+
domain. Otherwise, mail may be delivered to the alias rather than to the actual user.
User ID Numbers
Associated with each user name is a user identification (UID) number. The UID number identifies
the user name to any system on which the user attempts to log in, and it is used by systems to identify
the owners of files and directories. If you create user accounts for a single individual on a number of
different systems, always use the same user name and user ID. In that way, the user can easily move files
between systems without ownership problems.
UID numbers must be a whole number less than or equal to 2147483647, and they are required for both
regular user accounts and special system accounts. Table 1-1
lists the UID numbers reserved for user accounts and system accounts.
Table 1-1 Reserved UID Numbers
|
User ID Numbers
|
Login Accounts
|
Reserved For ...
|
|
0 - 99
|
root, daemon, bin, sys, etc.
|
System accounts
|
|
100 - 2147483647
|
Regular users
|
General purpose accounts
|
|
60001
|
nobody
|
Unauthenticated users
|
|
60002
|
noaccess
|
Compatibility with previous Solaris 2.x and SVR4 releases
|
Although UID numbers 0 through 99 are reserved, you can add a user with one of these numbers. However,
do not use them for regular user accounts. By definition, root always has UID 0, daemon
has UID 1, and pseudo-user bin has UID 2. In addition, you should give uucp logins and pseudo user logins, like who, tty, and ttytype, low UIDs so they fall at the beginning of the passwd file.
As with user (login) names, you should adopt a scheme to assign unique UIDs. Some companies assign
unique employee numbers, and administrators add 1000 to the employee number to create a unique UID number
for each employee.
To minimize security risks, you should avoid reusing the UIDs from deleted accounts. If you must
reuse a UID, "wipe the slate clean" so the new user is not affected by attributes set for
a former user. For example, a former user may have been denied access to a printer--by being included
in a printer deny list--but that attribute may not be appropriate for the new user. If need be, you
can use duplicate UIDs in an NIS+ domain if the supply of unique UIDs is exhausted.
Using Large User IDs and Group IDs
Previous Solaris 2.x software releases used 32-bit data types to contain the user IDs (UIDs) and
group IDs (GIDs), but UIDs and GIDs were constrained to a maximum useful value of 60000. Starting with
the Solaris 2.5.1 release, the limit on UID and GID values has been raised to the maximum value of a signed
integer, or 2147483647.
UIDs and GIDs over 60000 do not have full functionality and are incompatible with many Solaris features,
so avoid using UIDs or GIDs over 60000. See Table 1-2 for a complete list of
interoperability issues with Solaris 2.x products and commands.
Table 1-2 describes interoperability issues with previous Solaris and Solaris
product releases.
Table 1-2 Interoperability Issues for UIDs/GIDs over 60000
|
Category
|
Product/Command
|
Issues/Cautions
|
|
NFSTM Interoperability
|
SunOS 4.x NFS software
|
SunOS 4.x NFS server and client code truncates
large UIDs and GIDs to 16 bits. This can create security problems if SunOS 4.x machines are used in an
environment where large UIDs and GIDs are being used. SunOS 4.x systems require a patch.
|
|
Name Service Interoperability
|
NIS name service File-based name service
|
Users with UIDs above 60000 can log in or use the su command on systems running earlier
versions of the Solaris 2.x operating environment, but their UIDs and GIDs will be set to 60001 (nobody).
|
|
|
NIS+ name service
|
Users with UIDs above 60000 are
denied access on systems running older Solaris 2.x versions and the NIS+ name service.
|
|
Printed UIDs/GIDs
|
OpenWindows File Manager
|
Large
UIDs and GIDs will not display correctly if the OpenWindowsTM File Manager is used
with the extended file listing display option.
|
|
Table 1-3 Large UID/GID Limitation Summary
|
A UID or GID Of ...
|
Limitations
|
|
60003 or greater
|
|
|
65535 or greater
|
-
SunOS 4.x systems running the NFS version 2 software will see UIDs in this category truncated
to 16 bits, creating possible security problems.
-
Users in this category using the cpio command (using the
default archive format) to copy files will see an error message for each file and the UIDs and GIDs will
be set to nobody in the archive.
-
SPARC systems: Users in this category running SunOS 4.x-compatible applications
will see EOVERFLOW returns from some system calls, and their UIDs and GIDs will be
mapped to nobody.
-
x86 systems: Users in this category on x86 systems running SVR3-compatible
applications will probably see EOVERFLOW return codes from system calls.
-
x86 systems: If users in this category attempt to create a file or directory
on a mounted System V file system, the System V file system returns an EOVERFLOW error.
|
|
100000 or greater
|
|
|
262144 or greater
|
|
|
1000000 or greater
|
|
|
2097152 or greater
|
|
Passwords
Although user names are publicly known, passwords must be kept secret and known only to users. Each
user account should be assigned a password, which is a combination of six to eight letters, numbers, or
special characters. You can set a user's password when you create the user account and have the user change
it when logging in to a system for the first time.
To make your computer systems more secure, ask users to change their passwords periodically. For
a high level of security, you should require users to change their passwords every six weeks. Once every
three months is adequate for lower levels of security. System administration logins (such as root and sys) should be changed monthly, or whenever a person who knows
the root password leaves the company or is reassigned.
Many breaches of computer security involve guessing a legitimate user's password. You should make
sure that users avoid using proper nouns, names, login names, and other passwords that a person might
guess just by knowing something about the user.
Good choices for passwords include:
Do not use these choices for passwords:
-
Your name, forwards, backwards, or jumbled
-
Names of family members or pets
-
Car license numbers
-
Telephone numbers
-
Social Security numbers
-
Employee numbers
-
Names related to a hobby or interest
-
Seasonal themes, such as Santa in December
-
Any word in the dictionary
Password Aging
If you are using NIS+ or the /etc files to store user account information,
you can set up password aging on a user's password. Password aging enables you to force users to change
their passwords periodically or to prevent a user from changing a password before a specified interval.
If you want to prevent an intruder from gaining undetected access to the system by using an old and inactive
account, you can also set a password expiration date when the account will be disabled.
Home Directories
The home directory is the portion of a file system allocated to a user for storing private files.
The amount of space you allocate for a home directory depends on the kinds of files the user creates and
the type of work done. As a general rule, you should allocate at least 15 Mbytes of disk space for each
user's home directory.
A home directory can be located either on the user's local system or on a remote file server. In
either case, by convention the home directory should be created as /export/home/username. For a large site, you should store home directories on a server. Use a separate
file system for each /export/homen directory to facilitate
backing up and restoring home directories (for example, /export/home1, /export/home2).
Regardless of where their home directory is located, users usually access their home directories
through a mount point named /home/username. When AutoFS
is used to mount home directories, you are not permitted to create any directories under the /home mount point on any system. The system recognizes the special status of /home when Autofs is active. For more information about automounting home directories, see the NFS Administration Guide.
To use the home directory anywhere on the network, you should always refer to it as $HOME, not as /export/home/username. The latter is
machine-specific. In addition, any symbolic links created in a user's home directory should use relative
paths (for example, ../../../x/y/x), so the links will be valid no matter where the
home directory is mounted.
The User's Work Environment
Besides having a home directory to create and store files, users need an environment that gives
them access to the tools and resources they need to do their work. When a user logs in to a system, the
user's work environment is determined by initialization files that are defined by the user's startup shell,
such as the C, Korn, or Bourne shell.
A good strategy for managing the user's work environment is to provide customized user initialization
files (.login, .cshrc, .profile) in the
user's home directory. See "Customizing a User's Work Environment"
for detailed information about customizing user initialization files for users. After you create the customized
user initialization files, you can add them to a user's home directory when you create a new user account.
A recommended one-time task is to set up separate directories, called skeleton directories, on a
server (you can use the same server where the user's home directories are stored). The skeleton directories
enable you to store customized user initialization files for different types of users.
Note -
Do not use system initialization files (/etc/profile, /etc/.login) to manage a user's work environment, because they reside locally on systems and are not centrally
administered. For example, if AutoFS is used to mount the user's home directory from any system on the
network, then you would have to modify the system initialization files on each system to ensure a consistent
environment when a user moves from system to system.
Guidelines for Managing Groups
A group is a collection of users who can share files and other system resources.
For example, the set of users working on the same project could be formed into a group. A group is traditionally
known as a UNIX group.
Each group must have a name, a group identification (GID) number, and a list of user names that
belong to the group. A GID identifies the group internally to the system. There are two types of groups
that a user can belong to:
Sometimes a user's secondary group is not important. For example, ownership of files reflect the
primary group, not any secondary groups. Other applications, however, may rely on a user's secondary memberships.
For example, a user has to be a member of the sysadmin group (group 14) to use the Solstice AdminSuite
software, but it doesn't matter if group 14 is his or her current primary group.
The groups command shows the groups a user belongs to. A user can have only one
primary group at a time. However, the user can temporarily change the primary group (with the newgrp command) to any other group in which he or she is a member.
When adding a user account, you must assign a primary group for a user or accept the default: staff (group 10). The primary group should already exist (if it doesn't exist, specify the group
by a GID number). User names are not added to primary groups. If they were, the list might become too
long. Before you can assign users to a new secondary group, you must create the group and assign it a
GID number.
Groups can be local to a system or can be managed through a name service. To simplify group administration,
you should use a name service like NIS+, which enables you to centrally manage group memberships.
Tools for Managing User Accounts and Groups
Table 1-4 lists the recommended tools for managing users and groups.
Table 1-4 Recommended Tools For Managing Users and Groups
|
If You
Are Managing Users and Groups ...
|
The
Recommended Tool Is ...
|
And You Will Need ...
|
To Start This Tool See ...
|
|
On remote
and/or local systems in a networked, name service (NIS, NIS+) environment
|
Solstice TMAdminSuiteTM's User and Group
Manager (graphical user interface)
|
Graphics monitor
running an X window such as CDE or OpenWindows
|
Solstice AdminSuite 2.3 Administration Guide
|
|
On a local system
|
Admintool (graphical user interface)
|
Graphics monitor running an X window system such as CDE or OpenWindows
|
Chapter 2, Setting Up and Maintaining User Accounts and Groups
(Tasks)
|
The Solaris commands useradd and groupadd also let you set
up users and groups on a local system; however, the commands do not change name service maps or tables. Table 1-5 describes the Solaris command used to manage user accounts and groups if
you are not using Solstice AdminSuite or Admintool.
Table 1-5 Managing User Accounts and Groups by Using Solaris
Commands
|
Task
|
If You Use This Name
Service
|
Then Use These Commands
|
|
Add a User Account
|
NIS+
|
nistbladm
nisclient
|
|
|
NIS
|
useradd
make
|
|
|
None
|
useradd
|
|
Modify a User Account
|
NIS+
|
nistbladm
|
|
|
NIS
|
usermod
make
|
|
|
None
|
usermod
|
|
Delete a User Account
|
NIS+
|
nistbladm
nisclient
|
|
|
NIS
|
userdel
make
|
|
|
None
|
userdel
|
|
Set Up User Account Defaults
|
NIS+
|
not available
|
|
|
NIS
|
useradd -D
make
|
|
|
None
|
useradd -D
|
|
Disable a User Account
|
NIS+
|
nistbladm
|
|
|
NIS
|
passwd
-r nis -l
make
|
|
|
None
|
passwd
-f iles -l
|
|
Change a User's
Password
|
NIS+
|
passwd -r nisplus
|
|
|
NIS
|
passwd
-r nis
|
|
|
None
|
passwd -r files
|
|
Sort User Accounts
|
NIS+
|
niscat
sort
|
|
|
NIS
|
ypcat
sort
|
|
|
None
|
awk
sort
|
|
Find a User Account
|
NIS+
|
nismatch
|
|
|
NIS
|
ypmatch
|
|
|
None
|
grep
|
|
Add a Group
|
NIS+
|
nistbladm
|
|
|
NIS
|
groupadd
make
|
|
|
None
|
groupadd
|
|
Modify Users in a Group
|
NIS+
|
nistbladm
|
|
|
NIS
|
groupmod
make
|
|
|
None
|
groupmod
|
|
Delete a Group
|
NIS+
|
nistbladm
|
|
|
NIS
|
groupdel
make
|
|
|
None
|
groupdel
|
What You Can Do With Admintool
Admintool is a graphical user interface that enables you to set up user accounts on a local system.
Modify User Accounts
Unless you define a user name or UID number that conflicts with an existing one, you should never
need to modify a user account's login name or UID number. Use the following steps if two user accounts
have duplicate user names or UID numbers:
-
If two user accounts have duplicate UID numbers, use Admintool to remove one account and
re-add it with a different UID number. You cannot use Admintool to modify a UID number of an existing
user account.
-
If two user account have duplicate user names, use Admintool to modify one
of the accounts and change the user name.
If you do use Admintool to change a user name, the home directory's ownership is changed (if a home
directory exists for the user).
One part of a user account that you can change is a user's group memberships. Admintool Modify option
lets you add or delete a user's secondary groups. Alternatively, you can use the Groups window to directly
modify a group's member list.
You can also modify the following parts of a user account:
-
Comment
-
Login shell
-
Passwords
-
Home directory
-
AutoHome setup
-
Credential table setup
-
Mail server
Delete User Accounts
When you delete a user account with Admintool, the software deletes the entries in the passwd and group files. In addition, you can delete the files in the user's
home directory and delete the contents of the user's mailbox.
Only the single mail alias that directs mail to the user's mail box is deleted; the user name is
not deleted from any other mail aliases. If you want to delete entries from mail aliases other than the
one set up to direct mail to your mailbox, you must delete them by hand.
Add Customized User Initialization Files
Although you can't create customized user initialization files with Admintool, you can populate
a user's home directory with user initialization files located in a specified "skeleton" directory.
You can customize the user initialization templates in the /etc/skel directory
and then copy them to users' home directories.
Administer Passwords
You can use Admintool for password administration, which includes specifying a normal password for
a user account, enabling users to create their own passwords during their first login, disabling or locking
a user account, or specifying expiration dates and password aging information.
Note -
Password aging is not supported by the NIS name service.
Disable User Accounts
Occasionally, you may need to temporarily or permanently disable a login account. Disabling or locking
a user account means that an invalid password, *LK*, is assigned to the user account,
preventing future logins.
The easiest way to disable a user account is to use Admintool to lock the password for an account.
You can also enter an expiration date in the Expiration Date field to set how long the user account is
disabled.
Other ways to disable a user account is to set up password aging or by just changing the user's
password.
Where User Account and Group Information Is Stored
Depending on your site policy, you can store user account and group information in a name service
or a local system's /etc files. In the NIS+ name service, information is stored in
tables, and in the NIS name service, information is stored in maps.
Note -
To avoid confusion, the location of the user account and group information will be generically referred
to as a file rather than a file, table,
or map.
Most of the user account information is stored in the passwd file. However,
password encryption and password aging is stored in the passwd file when using NIS
or NIS+ and in the /etc/shadow file when using /etc files. Password
aging is not available when using NIS.
Group information is stored in the group file.
Fields in the passwd File
The fields in the passwd file are separated by colons and contain the following
information:
username:password:uid:gid:comment:home-directory:login-shell
|
For example:
kryten:x:101:100:Kryten Series 4000:/export/home/kryten:/bin/csh
|
Table 1-6 describes the passwd
file fields.
Table 1-6 Fields in the
passwd File
|
Field Name
|
Description
|
|
username
|
Contains the user or login name. User names should be unique and consist of 1-8 letters (A-Z, a-z) and
numerals (0-9). The first character must be a
letter, and at least one character must be a lowercase letter. User names cannot contain underscores or
spaces.
|
|
password
|
Contains an x, a placeholder for the encrypted
password. The encrypted password is stored in the shadow file.
|
|
uid
|
Contains a user identification (UID) number that
identifies the user to the system. UID numbers for regular users should range from 100 to 60000. All UID
numbers should be unique.
|
|
gid
|
Contains a group identification (GID)
number that identifies the user's primary group. Each GID number must be a whole number between 0 and
60002 (60001 and 60002 are assigned to nobody and noaccess, respectively).
|
|
comment
|
Usually contains the full name of the user. (This field is informational only.) It is sometimes called
the GECOS field because it was originally used to hold the login information needed to submit batch jobs
to a mainframe running GECOS (General Electric Computer Operating System) from UNIX systems at Bell Labs.
|
|
home-directory
|
Contains user's home directory path name.
|
|
login-shell
|
Contains
the user's default login shell, which can be /bin/sh, /bin/csh
or /bin/ksh. Table 62-8 on page 918 contains a description of shell features.
|
Fields in the Shadow File
The fields in the shadow file are separated by colons and contain the following
information:
username:password:lastchg:min:max:warn:inactive:expire
|
For example:
rimmer:86Kg/MNT/dGu.:8882:0::5:20:8978
|
Table 1-7 describes the shadow
file fields.
Table 1-7 Fields in the
shadow File
|
Field Name
|
Description
|
|
username
|
Contains the user or login name.
|
|
password
|
May contain the
following entries: a 13-character encrypted user password; the string *LK*, which
indicates an inaccessible account; or the string NP, which indicates no password
for the
account.
|
|
lastchg
|
Indicates the number of
days between January 1, 1970, and the last password modification date.
|
|
min
|
Contains
the minimum number of days required between password changes.
|
|
max
|
Contains the maximum
number of days the password is valid before the user is prompted to specify a new password.
|
|
inactive
|
Contains the number of days a user account can be inactive before being locked.
|
|
expire
|
Contains the absolute date when the user account
expires. Past this date, the user cannot log in to the system.
|
Fields in the Group File
The fields in the group file are separated by colons and contain the following
information:
group-name:group-password:gid:user-list
|
For example:
Table 1-8 describes the group
file fields.
Table 1-8 Fields in the
group File
|
Field Name
|
Description
|
|
group-name
|
Contains the name
assigned to the group. For example, members of the chemistry department in a university may be called chem. Group names can have a maximum
of nine characters.
|
|
group-password
|
Usually contains an asterisk or is empty. The group-password field
is a relic of earlier versions of UNIX. If a group has a password, the newgrp command prompts users to enter it. However, there is no utility to set the password.
|
|
gid
|
Contains the group's GID number. It must be unique on the local system, and should be unique across the
entire
organization. Each GID number must be a whole number between 0 and 60002. Numbers under 100 are reserved
for system default group accounts. User defined groups can range from 100 to 60000. (60001 and 60002 are
reserved and assigned to nobody and noaccess, respectively.)
|
|
user-list
|
Contains a list of groups and a comma-separated list of user names, representing the
user's secondary group memberships. Each user can belong to a maximum of 16 secondary groups.
|
UNIX User Groups
By default, all Solaris 2.x systems have these groups:
root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,tty,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
nobody::60001:
noaccess::60002:
nogroup::65534:
|
Customizing a User's Work Environment
Part of setting up a user's home directory is providing user initialization files for the user's
login shell. A user initialization file is a shell script that sets up a work environment
for a user after the user logs in to a system. Basically, you can perform any task in a user initialization
file that you can do in a shell script, but its primary job is to define the characteristics of a user's
work environment, such as a user's search path, environment variables, and windowing environment. Each
login shell has its own user initialization file (or files), which are listed in Table 1-9.
Table 1-9 User Initialization Files for Bourne, C, and Korn
Shells
|
Shell
|
User Initialization
File
|
Purpose
|
|
Bourne
|
$HOME/.profile
|
Defines user's environment at login
|
|
C
|
$HOME/.cshrc
|
Defines user's environment for all C
shells; invoked after login shell
|
|
|
$HOME/.login
|
Defines user's environment at login
|
|
Korn
|
$HOME/.profile
|
Defines user's environment at login
|
|
|
$HOME/$ENV
|
Defines user's environment at login in the file; specified by the
Korn shell's ENV environment variable
|
The Solaris 2.x system software provides default user initialization files for each shell in the /etc/skel directory on each system, as shown in Table 1-10.
Table 1-10 Default User Initialization Files
|
Shell
|
Default File
|
|
C
|
/etc/skel/local.login
|
|
|
/etc/skel/local.cshrc
|
|
Bourne or Korn
|
/etc/skel/local.profile
|
You can use these as a starting point and modify them to create a standard set of files that will
provide the work environment common to all users, or you can modify them to provide the working environment
for different types of users. See "How to Customize User Initialization Files" for step-by-step instructions on how to create sets of
user initialization files for different types of users.
Use Site Initialization Files
When customizing a user initialization file, it is important that the user initialization files
can be customized by both the administrator and the user. This important feature can be accomplished with
centrally located and globally distributed user initialization files, called site initialization files.
Site initialization files enable you to continually introduce new functionality to the user's work environment,
while enabling the user to also customize the user initialization file.
When you reference a site initialization file in a user initialization file, all updates to the
site initialization file are automatically reflected when the user logs in to the system or when a user
starts a new shell. Site initialization files are designed for you to distribute site-wide changes to
users' work environments that you did not anticipate when you added the users.
Any customization that can be done in a user initialization file can be done in a site initialization
file. These files typically reside on a server (or set of servers), and appear as the first statement
in a user initialization file. Also, each site initialization file must be the same type of shell script
as the user initialization file that references it.
To reference a site initialization file in a C-shell user initialization file, place a line similar
to the following at the beginning of the user initialization file:
source /net/machine-name/export/site-files/site-init-file
|
To reference a site initialization file in a Bourne- or Korn-shell user initialization file, place
a line similar to the following at the beginning of the user initialization file:
. /net/machine-name/export/site-files/site-init-file
|
Avoid Local System References
You should not add specific references to the local system in the user's initialization file. You
want the instructions in a user initialization file to be valid regardless of the system to which the
user logs in. For example:
-
To make a user's home directory available anywhere on the network, always refer to the
home directory with the variable $HOME. For example, use $HOME/bin;
do not use /export/home/username/bin. $HOME works when the user logs in to another system, when home directories
are automounted.
-
To access files on a local disk, use global path names, like /net/machine-name/directory-name.
Any directory referenced by /net/machine-name can be mounted
automatically on any system on which the user logs in, assuming the system is running AutoFS.
Shell Features
Table 1-11 lists basic shell features that each
shell provides, which can help you determine what you can and can't do when creating user initialization
files for each shell.
Table 1-11 Basic Features of Bourne, C, and Korn Shells
|
Feature
|
Bourne
|
C
|
Korn
|
|
Known as the standard shell in UNIX
|
Yes
|
No
|
No
|
|
Compatible syntax with Bourne shell
|
-
|
No
|
Yes
|
|
Job control
|
Yes
|
Yes
|
Yes
|
|
History list
|
No
|
Yes
|
Yes
|
|
Command-line editing
|
No
|
Yes
|
Yes
|
|
Aliases
|
No
|
Yes
|
Yes
|
|
Single-character abbreviation for login directory
|
No
|
Yes
|
Yes
|
|
Protection from
overwriting (noclobber)
|
No
|
Yes
|
Yes
|
|
Setting to ignore Control-d (ignoreeof)
|
No
|
Yes
|
Yes
|
|
Enhanced cd
|
No
|
Yes
|
Yes
|
|
Initialization file separate from .profile
|
No
|
Yes
|
Yes
|
|
Logout file
|
No
|
Yes
|
No
|
Shell Environment
A shell maintains an environment that includes a set of variables defined by the login program, the system initialization file, and the user initialization files. In addition, some
variables are defined by default. A shell can have two types of variables:
-
Environment variables - Variables that are exported to all processes spawned by
the shell. Their settings can be seen with the env command. A subset of environment
variables, like PATH, affects the behavior of the shell itself.
-
Shell (local) variables - Variables that affect only the current shell.
In the C shell, a set of these shell variables have a special relationship to a corresponding set of environment
variables. These shell variables are user, term, home,
and path. The value of the environment variable counterpart is initially used to set
the shell variable.
In the C shell, you use the lowercase names with the set command to set shell
variables and use uppercase names with the setenv command to set environment variables.
If you set a shell variable, the shell sets the corresponding environment variable and vice versa. For
example, if you update the path shell variable with a new path, the shell also updates
the PATH environment variable with the new path.
In the Bourne and Korn shells, you use the uppercase names with the setenv command
to set both shell and environment variables. You also have to use the export command
to finish setting environment variables. For all shells, you generally refer to shell and environment
variables by their uppercase names.
In a user initialization file, you can customize a user's shell environment by changing the values
of the predefined variables or by specifying additional variables. Table 1-12
shows how to set environment variables in a user initialization file.
Table 1-12 Setting Environment Variables in a User Initialization
File
|
If You Want to Set a User's Environment
Variables for The ...
|
Then Add the Following Line
to the User Initialization File ...
|
|
C shell
|
setenv VARIABLE value
Example:
setenv MAIL /var/mail/ripley
|
|
Bourne or Korn shell
|
VARIABLE=value; export VARIABLE
Example:
MAIL=/var/mail/ripley;export MAIL
|
Table 1-13 describes environment and shell variables
you may want to customize in a user initialization file. For more information about variables used by
the different shells, see sh(1), ksh(1), or csh(1).
Table 1-13 Shell and Environment Variable Descriptions
|
Variable
|
Description
|
|
ARCH
|
Sets the user's system architecture
(for example, sun4, i386). This variable can be set with ARCH = `uname -p` (in Bourne or Korn
shells) or setenv ARCH `uname -p`
(in C shell). There is no built-in behavior of the shell that depends on this variable. It's just a useful
variable for branching within shell scripts.
|
|
CALENDAR
|
Sets the path to the Calendar executables.
|
|
CDPATH (or cdpath in the C shell)
|
Sets a variable used by the cd command. If the target directory of the cd command is specified as a relative
path name, the cd command will first look for the target directory in the current directory
("."). If the target is not found, the path names listed in the CDPATH
variable are searched consecutively until the target directory is found and the directory change is completed.
If the target directory is not found, the current working directory is left unmodified. For example, the CDPATH variable is set to /home/jean, and two directories exist under /home/jean: bin and rje. If you are in the /home/jean/bin directory and type cd rje, you change directories to /home/jean/rje, even though you do not specify a full path.
|
|
DESKSET
|
Sets the path to the DeskSetTM executables.
|
|
history
|
Sets history for the
C shell.
|
|
HOME (or home in the C shell)
|
Sets the path to the user's home directory.
|
|
LANG
|
Sets the locale.
|
|
LOGNAME
|
Defines
the name of the user currently logged in. The default value of LOGNAME is automatically
set by the login program to the user name specified in the passwd file. You should
only need to refer to (not reset) this variable.
|
|
LPDEST
|
Sets the user's default printer.
|
|
MAIL
|
Sets the path to the user's mailbox.
|
|
MANPATH
|
Sets the hierarchies of man pages available.
|
|
MANSECTS
|
Sets the hierarchies of man pages available.
|
|
OPENWINHOME
|
Sets the path to the OpenWindows subsystem.
|
|
PATH (or path in the
C shell)
|
Lists, in order, the directories that the shell searches to find the program to run when the user types
a command. If the directory is not in the search path, users must type the complete path name of a command.
The default PATH is automatically defined and set as specified in .profile (Bourne or Korn shell) or .cshrc (C shell) as part of the login
process.
The order of the search path is important. When identical
commands exist in different locations, the first command found with that name is used. For example, suppose
that PATH is defined (in Bourne and Korn shell syntax) as PATH=/bin:/usr/bin:/usr/sbin:$HOME/bin and a file named sample resides in both /usr/bin
and /home/jean/bin. If the user types the command sample without
specifying its full path name, the version found in /usr/bin is used.
|
|
prompt
|
Defines the shell prompt for the C shell.
|
|
PS1
|
Defines the shell prompt for the Bourne or Korn shell.
|
|
SHELL(or shell in the C shell)
|
Sets the default shell used
by make, vi, and other tools.
|
|
TERMINFO
|
Specifies the path
name for an unsupported terminal that has been added to the terminfo file. Use the TERMINFO variable in /etc/profile or /etc/.login.
When the TERMINFO environment variable is set, the system
first checks the TERMINFO path defined by the user. If it does not find a definition
for a terminal in the TERMINFO directory defined by the user, it searches the default
directory, /usr/share/lib/terminfo, for a definition. If it does not find a definition
in either location, the terminal is identified as "dumb."
|
|
TERM (or term in the C shell)
|
Defines the
terminal. This
variable should be reset in /etc/profile or /etc/.login. When
the user invokes an editor, the system looks for a file with the same name as the definition of this environment
variable. The system searches the directory referenced by TERMINFO to determine the
terminal characteristics.
|
|
TZ
|
Sets the time zone, which is used to display dates, for example, in the ls -l command. If TZ is not set in the user's environment,
the system setting is used; otherwise, Greenwich Mean Time is used.
|
The PATH Variable
When the user executes a command by using the full path, the shell uses that path to find the command.
However, when users specify only a command name, the shell searches the directories for the command in
the order specified by the PATH variable. If the command is found in one of the directories,
the shell executes it.
A default path is set by the system, but most users modify it to add other command directories.
Many user problems related to setting up the environment and accessing the right version of a command
or a tool can be traced to incorrectly defined paths.
Guidelines
Here are some guidelines for setting up efficient PATH variables:
-
If security is not a concern, put the current working directory (.) first in the path.
However, including the current working directory in the path poses a security risk that you may want to
avoid, especially for superuser.
-
Keep the search path as short as possible. The shell searches each directory
in the path. If a command is not found, long searches can slow down system performance.
-
The search path is read from left to right, so you should put directories for
commonly used commands at the beginning of the path.
-
Make sure directories are not duplicated in the path.
-
Avoid searching large directories, if possible. Put large directories at the
end of the path.
-
Put local directories before NFS(TM) mounted directories to lessen the chance
of "hanging" when the NFS server does not respond and to reduce unnecessary network traffic.
Examples--Setting a User's Default Path
The following examples show how to set a user's default path to include the home directory and other
NFS mounted directories (the current working directory is specified first in the path). In a C-shell user
initialization file, you would add the following:
set path=(. /usr/bin $HOME/bin /net/glrr/files1/bin)
|
In a Bourne- or Korn-shell user initialization file, you would add the following:
PATH=.:/usr/bin:/$HOME/bin:/net/glrr/files1/bin
export PATH
|
The Locale Variables
The LANG and LC environment variables specify the locale-specific
conversions and conventions for the shell, like timezones, collation orders, and formats of dates, time,
currency, and numbers. In addition, you can use the stty command in a user initialization
file to set whether the system will support multibyte characters.
LANG sets all possible conversions and conventions for the given locale. If you
have special needs, you can set various aspects of localization separately through these LC
variables: LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, LC_MONETARY, and LC_TIME.
Table 1-14 describes the values for the LANG and LC environment variables.
Table 1-14 Values for
LANG and
LC Variables
|
Value
|
Locale
|
|
de
|
German
|
|
fr
|
French
|
|
iso_8859_1
|
English and European
|
|
it
|
Italian
|
|
japanese
|
Japanese
|
|
korean
|
Korean
|
|
sv
|
Swedish
|
|
tchinese
|
Taiwanese
|
Examples--Setting the Locale Using the LANG
Variables
The following examples show how to set the locale using the LANG environment
variables. In a C-shell user initialization file, you would add the following:
In a Bourne- or Korn-shell user initialization file, you would add the following:
Default File Permissions (umask)
When you create a file or directory, the default file permissions assigned to the file or directory
are controlled by the user mask. The user mask should be set by the umask command in a user initialization file. You can display the current value of the user mask by
typing umask and pressing Return.
The user mask can be set with a three-digit octal value. The first digit sets permissions for the
user; the second sets permissions for group; the third sets permissions for other (also referred to as "world").
Note that if the first digit is zero, it is not displayed. For example, if umask is
set to 022, 22 is displayed.
To determine the umask value you want to set, subtract the value of the permissions
you want from 666 (for a file) or 777 (for a directory). The remainder is the value to use with the umask command. For example, suppose you want to change the default mode for files to 644 (rw-r--r--). The difference between 666 and 644 is 022, which is the value you would use as an
argument to the umask command.
You can also determine the umask value you want to set by using Table 1-15,
which shows the file and directory permissions that are created for each of the octal values of umask.
Table 1-15 Permissions for
umask Values
|
umask Octal Value
|
File Permissions
|
Directory Permissions
|
|
0
|
rw-
|
rwx
|
|
1
|
rw-
|
rw-
|
|
2
|
r--
|
r-x
|
|
3
|
r--
|
r--
|
|
4
|
-w-
|
-wx
|
|
5
|
-w-
|
-w-
|
|
6
|
--x
|
--x
|
|
7
|
--- (none)
|
--- (none)
|
The following line in a user initialization file sets the default file permissions to rw-rw-rw-.
Examples of User and Site Initialization Files
The following sections provide examples of user and site initialization files that you can use to
start customizing your own initialization files. Many of the examples use system names and paths that
you will have to change for your particular site.
Example--.profile File
Example 1-1 Example .profile File
[Defines the user's shell search path.] PATH=$PATH:$HOME/bin:/usr/local/bin:/usr/ccs/bin:.
[Defines the path to the user's mail file.] MAIL=/var/mail/$LOGNAME
[Defines the environment variable to the user's Usenet news
server. ] NNTPSERVER=server1
[Defines the user's search path for man pages.] MANPATH=/usr/share/man:/usr/local/man
[Defines the user's default printer. ] PRINTER=printer1
[Sets the user's default file creation permissions. ] umask 022
[Sets the listed environment variables.] export PATH MAIL NNTPSERVER MANPATH PRINTER
|
Example--.cshrc File
Example 1-2 Example .cshrc File
[Sets the user's shell search path. ] set path=($PATH $HOME/bin /usr/local/bin /usr/ccs/bin)
[Sets the path to the user's mail file.] setenv MAIL /var/mail/$LOGNAME
[Sets the user's Usenet news server. ] setenv NNTPSERVER server1
[Sets the user's default printer. ] setenv PRINTER printer1
[Creates an alias for the history command (the user will need to type only h to run the history command). ] alias h history
[Sets the user's default file creation permissions. ] umask 022
[Runs the site initialization file shown in "Example--Site Initialization File".] source /net/server2/site-init-files/site.login
|
Example--Site Initialization File
The following shows an example site initialization file in which a user can choose a particular
version of an application.
Table 1-16 Example Site Initialization File
# @(#)site.login
main:
echo "Application Environment Selection"
echo ""
echo "1. Application, Version 1"
echo "2. Application, Version 2"
echo ""
echo -n "Type 1 or 2 and press Return to set your
application environment: "
set choice = $<
if ( $choice !~ [1-2] ) then
goto main
endif
switch ($choice)
case "1":
setenv APPHOME /opt/app-v.1
breaksw
case "2":
setenv APPHOME /opt/app-v.2
endsw
|
This site initialization file could be referenced in a user's .cshrc file (C
shell users only) with the following line:
source /net/server2/site-init-files/site.login
|
In this line, the site initialization file is named site.login and is located
on a server named server2. This line also assumes that the automounter is running on
the user's system.
Chapter 2 Setting Up and Maintaining User Accounts and Groups
(Tasks)
This chapter describes the procedures for setting up and maintaining user accounts
and groups.
This is a list of the step-by-step instructions in this chapter.
For overview information about Managing User Accounts and Groups, see Chapter 1, Managing User Accounts and Groups (Overview).
Becoming Superuser (root)
Most administrative tasks such as adding users require that you log in as root (UID=0) first. The
root account is also known as the superuser account because it's used to make system
changes and can override user file protection in emergency situations.
The superuser account should only be used to perform administrative tasks to prevent indiscriminate
changes to the system.
You can either log into the system as superuser or use the su command to change
to the superuser account.
How to Become Superuser (root)
Become superuser by one of the following methods. Both methods require that you know the root password.
-
Change to the superuser account by using the su command.
% su
Password: root_password
#
|
The pound sign (#) is the Bourne shell prompt for the superuser account.
-
Log in as superuser on the system console.
hostname console: root
Password: root_password
#
|
This method is not enabled by default. You must modify the /etc/default/login
file to log in as superuser on the system console. See "How to Restrict Superuser (root) Login to the Console" for information on
modifying this file.
Setting Up User Accounts
Table 2-1 Task Map: Setting Up User Accounts
|
Task
| |
Description
| |
For Instructions, Go To
|
|
Customize User Initialization
Files
| |
Optional.
Set up user initialization files (.cshrc, .profile, .login), so you can provide new
users with consistent environments.
| |
"How to Customize User Initialization Files"
| |
| | | | | | | |
|
Add a Group
| |
Optional.
To help administer users, add groups by using the Groups main window.
| |
"How to Add a Group"
| |
|
| | | | | | |
|
Add a User Account
| |
Add a user account by using Admintool's Users main window.
| |
"How to Add a New User Account"
| |
|
| | | | | | |
|
Share the User's Home Directory
| |
Share the user's home directory, so the directory can be remotely mounted from the
user's system.
| |
"How to Share a User's Home Directory"
| |
|
| | | | | | |
|
Mount the User's Home Directory
| |
Needed If Not Using AutoFS
If you did not select
AutoFS when creating the user account (the AutoHome Setup field) and the user's home directory is located
on another system, manually mount the user's home directory on the user's system.
| |
"How to Mount a User's Home Directory"
| |
|
| |
User Information Data Sheet
You may find
it useful to create a form like the one below to gather information about users before adding their accounts.
|
Item
|
Description
|
|
User Name:
|
|
|
UID:
|
|
|
Primary Group:
|
|
|
Secondary Groups:
| |
|
Comment:
| |
|
Default Shell:
| |
|
Password Status and Aging:
| |
|
Home Directory Server Name:
| |
|
Home Directory Path Name:
| |
|
Mounting Method:
| |
|
Permissions on Home Directory:
| |
|
Mail Server:
| |
|
Department Name:
| |
|
Department Administrator:
| |
|
Manager:
| |
|
Employee Name:
| |
|
Employee Title:
| |
|
Employee Status:
| |
|
Employee Number:
| |
|
Start Date:
| |
|
Add to These Mail Aliases:
| |
|
Desktop System Name:
|
How to Customize User Initialization Files
-
Become superuser on the system where the users' home directories are created and shared.
-
Create a skeleton directory for each type of user.
# mkdir /shared-directory/skel/user-type
|
|
shared-directory
|
The name of a directory that is available to other systems on the network.
|
|
user-type
|
The name of a directory to store initialization files for a type
of user.
|
-
Copy the default user initialization files into the directories you created for different types
of users.
# cp /etc/skel/local.cshrc /shared-directory/skel/user-type/.cshrc
# cp /etc/skel/local.login /shared-directory/skel/user-type/.login
# cp /etc/skel/local.profile /shared-directory/skel/user-type/.profile
|
Note -
You can use the ls -a command to list . (dot) files.
-
Edit the user initialization files for each user type and customize them based on your site's needs.
See "Customizing a User's Work Environment" for a detailed description on the ways to customize the
user initialization files.
-
Set the permissions for the user initialization files.
# chmod 744 /shared-directory/skel/user-type/.*
|
Example--Customizing User Initialization Files
The following example customizes the C-shell user initialization file in the /export/skel/enduser directory designated for a particular type of user.
# mkdir /export/skel/enduser
# cp /etc/skel/local.cshrc /export/skel/enduser/.cshrc
(Edit .cshrc file-see "Example--.cshrc File ")
# chmod 744 /export/skel/enduser/.*
|
How to Start Admintool
-
Verify that the following prerequisites are met. To use Admintool, you must:
-
Have a bit-mapped display monitor. The Admintool software can be used only on a system
with a console that is a bit-mapped screen such as a standard display monitor that comes with a Sun workstation.
-
Be running an X Window System, such as the OpenWindows environment.
-
Be a member of the sysadmin group (group 14).
If you want to perform administration tasks on a system with an ASCII
terminal as the console, use Solaris commands instead.
-
Start Admintool.
The Users main window is displayed.
Example--Starting Admintool
This is the Users main window, which enables you to manage user account information.
How to Add a Group
-
Start Admintool, if it's not already running.
See "How to Start Admintool" for more information on starting Admintool.
-
Choose Groups from the Browse menu.
The Groups window is displayed.
-
Select Add from the Edit menu.
The Add window is displayed. If you need information to complete a field, click on the Help button
to see field definitions for this window.
-
Type the name of the new group in the Group Name text box.
-
Type the group ID for the new group in the Group ID text box.
The group ID should be unique.
-
(Optional) Type user names in the Members List text box.
The list of users will be added to the group. User names must be separated by commas.
-
Click on OK.
The list of groups displayed in the Groups window is updated to include the new group.
Example--Adding a Group
The following example adds a group named users that has a group ID of 101.
How to Add a New User Account
-
(Optional) Fill out the user information data sheet on "User Information Data Sheet".
-
Start Admintool, if it's not already running.
See "How to Start Admintool" for more information.
-
Choose Add from the Edit menu.
The Add User window is displayed.
-
Fill in the Add User window.
If you need information to complete a field, click on the Help button to see field definitions for
this window.
-
Click on OK.
The list of user accounts displayed in the Users main window is updated to include the new user
account.
Where to Go From Here
If you created a user's
home directory, you must share the directory so the user's system can remotely mount it. See "How to Share a User's Home Directory" for detailed instructions.
If disk space
is limited, you can set up a disk quota for the user in the file system containing the user's home directory.
See Chapter 58, Managing Quotas (Tasks) for information on setting disk quotas.
Example--Adding a New User Account
The following example adds the user kryten to the system.
How to Share a User's Home Directory
-
Become superuser on the system that contains the home directory.
-
Verify that the mountd daemon is running.
# ps -ef | grep mountd
root 176 1 0 May 02 ? 0:19 /usr/lib/nfs/mountd
|
The /usr/lib/nfs/mountd line is displayed if the mountd
daemon is running.
-
If the mountd daemon is not running, start it.
# /etc/init.d/nfs.server start
|
-
List the file systems that are shared on the system.
-
Determine your next step based on whether the file system containing the user's home directory is
already shared.
|
If
the File System Containing the User's Home Directory Is ...
|
Then ...
|
|
Already
shared
|
Go to the verification step below.
|
|
Not shared
|
Go to Step 6
|
-
Edit the /etc/dfs/dfstab file and add the following line.
share -F nfs /file-system
|
|
file-system
|
Is the file system containing
the user's home directory that you need to share. By convention, the file system is /export/home.
|
-
Share the file systems listed in the /etc/dfs/dfstab file.
This command executes all the share commands in the /etc/dfs/dfstab file, so you do not have to wait to reboot the system.
-
Verify that a user's home directory is shared, as follows:
If you selected the AutoHome Setup field when creating the user account (enabled
the automounting of the home directory), log in to a system as the new user to make sure that the user's
home directory is available. Otherwise, you have to manually mount the user's home directory and then
log in to see if it's available.
Where to Go From Here
If you did not select the AutoHome Setup field when creating the user account
(did not enable the automounting of the home directory) and the user's home directory is not located on
the user's system, you have to mount the user's home directory from the system where it is located. See "How to Mount a User's Home Directory" for detailed instructions.
Example--Sharing a User's Home Directory
# ps -ef | grep mountd
# /etc/init.d/nfs.server start
# share
# vi /etc/dfs/dfstab
(The line share -F nfs /export/home is added.)
# shareall -F nfs
|
How to Mount a User's Home Directory
-
Make sure that the user's home directory is shared. See "How to Share a User's Home Directory" for more information.
-
Log in as superuser on the user's system.
-
Edit the /etc/vfstab file and create an entry for the user's home directory.
system-name:/export/home/user-name - /export/home/user-name nfs - yes rw,
intr
|
|
system-name
| Is the name of the system where the home directory is located. |
|
/export/home/user-name
|
Is the name of the user's
home directory that will be shared. By convention, /export/home contains user's home
directories; however, this could be a different file system.
|
|
-
|
Are required
placeholders in the entry.
|
|
/export/home/user-name
|
Is the name of the directory where the user's home directory will be mounted.
|
See Chapter 28, Mounting and Unmounting File Systems (Tasks), for more information about adding an entry to the /etc/vfstab file.
-
Create the mount point for the user's home directory.
# mkdir -p /export/home/user-name
|
-
Mount the user's home directory.
All entries in the current vfstab file (whose mount at boot
fields are set to yes) are mounted.
-
Use the mount command to verify that the home directory is mounted.
Example--Mounting a User's Home Directory
# vi /etc/vfstab
(The line
venus:/export/home/ripley - /export/home/ripley
nfs - yes rw,intr is added.)
# mkdir -p /export/home/ripley
# mountall
# mount
/ on /dev/dsk/c0t3d0s0 read/write/setuid/largefiles on Fri May 2 07:39:11 1997
/usr on /dev/dsk/c0t3d0s6 read/write/setuid/largefiles on Fri May 2 07:39:11 1997
/proc on /proc read/write/setuid on Fri May 2 07:39:11 1997
/dev/fd on fd read/write/setuid on Fri May 2 07:39:11 1997
/opt on /dev/dsk/c0t3d0s5 setuid/read/write/largefiles on Fri May 2 07:39:13 1997
/tmp on swap read/write on Fri May 2 07:39:13 1997
/export/home/ripley on venus:/export/home/ripley /read/write/remote on Fri May 2 07:39:14 1997
#
|
Maintaining User Accounts Task Map
Table 2-2 Task Map: Maintaining User Accounts
|
Task
| |
Description
| |
For Instructions, Go To
|
|
Modify a Group
| |
Modify a group's name or the users in a group by choosing Modify from the Edit menu
in the Groups window.
| |
"How to Modify a Group"
| |
| | | | | | | |
|
Delete a Group
| |
Delete a group by choosing Delete from the Edit menu in the Groups window.
| |
"How to Delete a Group"
| |
|
| | | | | | |
|
Modify a User Account
| |
Disable a User Account
If you want to temporarily disable a user account, lock
the user account from the Password menu in the Modify window.
| |
"How to Disable a User Account "
| |
| | |
Change a User's Password
If you want to change a
user's
password, use the Password menu in the Modify window.
| |
"How to Change a User's Password "
|
|
| |
|
Change Password Aging
If you want to
force users to change their passwords periodically, change the Password Aging fields in the Modify window
(Account Security category).
|
|
"How to Change Password Aging for a User Account "
|
|
| | | | | | |
|
Delete a User Account
| |
Delete a user
account by choosing Delete from in the Edit menu in the Users window.
| |
"How to Delete a User Account "
| |
| | | | | |
How to Modify a Group
-
Start Admintool, if its not already running. Select Groups from the Browse
menu.
See "How to Start Admintool" for more information.
-
Select the group entry you want to modify from the Groups window.
-
Choose Modify from the Edit menu.
The Modify Group window is displayed containing the selected group entry.
-
Modify either the group's name or the users in the group.
User names must be separated by commas. If you need information to complete a field, click on the
Help button to see field definitions for this window.
-
Click on OK.
The group information displayed in the Groups window is updated.
Example--Modifying a Group
The following example adds the users r2d2, holly, and kryten to the staff group.
How to Delete a Group
-
Start Admintool, if it's not already running. Select Groups from the Browse menu.
See "How to Start Admintool" for more information.
-
Select the group entry you want to delete from Groups window.
-
Choose Delete from the Edit menu.
A window is displayed asking you to confirm the deletion.
-
Click on OK.
The group entry is deleted from the Groups window.
How to Modify a User Account
-
Start Admintool, if it's not already running. Select Users from the Browse menu.
See "How to Start Admintool" for more information.
-
Select the user account entry to modify from the Users window.
-
Choose Modify User from the Edit menu.
The Modify window is displayed containing the selected user account entry.
-
Modify the user account.
If you need information to complete a field, click on the Help button to see field definitions
for this window. You can change any of the Account Security fields, which includes changing a password
or changing password aging. See the following tasks for detailed step-by-step instructions:
-
Click on OK.
-
To verify that the modifications were made, double-click on the modified user account entry in the
Users window, then click on Cancel to close the window without making any modifications.
Example--Modifying a User Account
The following example adds the secondary group membership lp to the rimmer user account.
How to Disable a User Account
Note -
You can enable the user account by changing the password status to Normal Password or Cleared Until
First Login.
-
Start Admintool, if it's not already running. Select Users from the Browse menu, if necessary.
See "How to Start Admintool" for more information.
-
Select the user account entry to be disabled.
-
Choose Modify from the Edit menu.
The Modify Users window is displayed containing the selected user account entry.
-
Choose Account Is Locked from the Password menu.
This selects the locked password status, which disables the user account.
-
Click on OK.
-
Verify that you have disabled the user account by attempting to log in with the disabled user account.
Example--Disabling a User Account
The following example disables the rimmer user account.
How to Change a User's Password
-
Start Admintool, if it's not already running. Select Users from the Browse menu.
See "How to Start Admintool" for more information.
-
Select the user account entry that needs the password changed.
-
Choose Modify from the Edit menu.
The Modify User window is displayed containing the selected user account entry.
-
Choose Normal Password from the Password menu.
-
Click on OK.
Example--Changing a User's Password
This is the pop-up window used to change user's passwords that is available from the Add User or
Modify User windows.

How to Change Password Aging for a User Account
-
Start Admintool, if its not already running. Select Users from the Browse menu.
See "How to Start Admintool" for more information.
-
Select the user account entry that needs its password aging changed.
-
Choose Modify from the Edit menu.
The Modify window is displayed containing the selected user account entry.
-
Change the following fields that affect password aging:
-
Min Change
-
Max Change
-
Max Inactive
-
Expiration Date
-
Warning
If you need information about the password aging fields that are part of the Account Security category,
click on the Help button.
-
Click on OK.
Example--Changing Password Aging for a User Account
In the following example, the user must keep a new password for at least one day (Min Change) , and must change the password every 60 days (Max Change). The user must
change the password if the account is inactive for more than 10 days (Max Inactive).
How to Delete a User Account
-
Start Admintool, if it's not already running. Select Users from the Browse menu, if necessary.
See "How to Start Admintool" for more information.
-
Select the user account entry to remove from the Users window.
-
Choose Delete from the Edit menu.
The Delete window is displayed to confirm the removal of the user account.
-
(Optional) Click on the check box to delete the user's home directory and its contents.
-
Click on OK when you are ready to delete the user account. The user account entry is deleted from
the Users main window.
Example-Deleting a User Account
The account for user kryten and the /export/home/kryten
directory is removed.
Solaris User Registration
Solaris User Registration is a tool for getting information about new Solaris releases, upgrade
offers, and promotions. This graphical user interface (GUI) automatically starts when you first log into
your desktop. The GUI lets you register now, later, or never. The registration process also provides Sun
with the user's Solaris version, survey type, platform, hardware, and locale.
Note -
Solaris User Registration is not invoked if the system administrator or user is logged in as superuser.
If you choose to register, a copy of the completed form is stored in $HOME/.solregis/uprops. If you choose to never register and change your mind later, you can start User Registeration
by:
-
Typing solregis at any command line prompt, or
-
Clicking on the Registration icon in the Application Manager's desktop tools
folder (Common Desktop Environmenht desktop only)
See solregis(1) for more information.
Error Conditions
The following table describes problems that may occur when you try to register, and actions required
to resolve these conflicts.
Table 2-3 Registration Error Conditions and Required Action
|
Error Condition
|
Required Action
|
|
Registration form failed to initialize: Web page window displays and requests user see system administrator
to resolve problem that prevents registration setup.
|
Check for missing registration files.
|
|
Form could not be emailed: Dialog box displays
and requests user see system administrator to resolve problem.
|
Check to see if email is configured correctly. Also check if CDE is on user's system since it must be
present to email completed registration form. Alternatively, users can print the form and fax or mail
it.
|
|
Form could not be printed: Dialog
box displays and requests user to see system administrator to resolve problem.
|
Check to see if printer is configured correctly. Alternatively, user can email form.
|
|
Form could not be saved: Dialog box displays
and verifies that registration succeeded; however, the
registration information cannot be recalled when updating registration in the future.
|
Check user's home directory. Required action depends on the system's configuration.
|
How To Disable User Registration
Table 2-4 shows how to disable User Registration before and after installing
Solaris software. Before disabling Solaris User Registration, Sun recommends that system administrators
register for their organization.
Table 2-4 Ways to Disable User Registration
|
To Disable User Registration...
|
You Can...
|
For More Information See...
|
|
Before Solaris software is installed
|
-
Deselect the SUNWsregu package (interactive installation)
-
Modify a custom JumpStart profile to not install the SUNWsregu
package
-
Create and run a finish script that creates a file named solregis in the /etc/default directory on one or more systems with the following
line in it: DISABLE=1
|
Solaris Advanced Installation Guide
solregis (1) man
page
|
|
After Solaris software is installed
|
|
Chapter 17, Software Administration (Tasks)
Solaris Advanced Installation Guide
solregis (1) man page
|