User Account Information
Solaris software maintains user account information in a NIS map that gets created from two ascii files: /etc/passwd and /etc/shadow. The following user account information is stored in this NIS map:
- Account description
- Home directory
- Login shell
The above information can be either input manually by editing files, or produced automatically by using Solaris tools. If files are edited manually, they can be checked for accuracy by running the pwck command.
The rules for creating usernames are somewhat different between Solaris software and Windows NT. The primary things to watch out for are:
Solaris usernames should be 8 characters or fewer.
Solaris usernames are case sensitive, hence, "Tom" does not equal "tom."
Totalnet Advanced Server for Solaris software provides a facility for mapping greater than 8 character Windows NT usernames to 8 character Solaris usernames.
In Solaris software, like Windows NT, passwords can either be assigned by the administrator at the time the account is created, or assigned by the user after the first logon. If the Solaris user changes the password, then it must be at least 6 characters long and have a mixture or alpha and numeric characters.
Password aging can be set using Admintool for /etc/passwd accounts and AdminSuite for NIS accounts. Automatic lock out of a user account after a specified number of bad login attempts is not a feature of Solaris software.
Defaults for /etc/passwd accounts can be changed by modifying /etc/default/passwd.
UID and GID
As discussed earlier, the UID and GID are assigned by the Solaris system administrator. The UID of 0 and GID of 1 are reserved for the Solaris root user account. These fields do not show up in Windows NT because they are generated by the system and kept hidden from users.
Account description is a text field for entering the full name and a description of the user. Unlike Windows NT, which has one field called Full Name and another called Description, Solaris software has only a single field.
Solaris software has the concept of a current working directory. When a user logs in, the current working directory is set to the user's home. This allows the user to view files and folders that are at or below home. Windows NT has a similar concept where the user's home directory is the default starting point for many file operations.
To allow access to a user's home directory anywhere on the network, home directories are placed on network drives. In Windows NT, this directory is referenced using the Universal Naming Convention (UNC), for example, \\server_name\folder_name. Solaris software has a similar method for referencing directories on remote drives called automounting. Using the convention /home/user_name, the home directory of a particular user can be located by referencing information kept in NIS maps.
Solaris software also makes use of home directories to store login scripts and user profiles. More information on user profiles is provided in the next section.
If a non-existent home directory is specified, or if the user does not have appropriate access rights to it, the users's home is set to "/", which is the top level directory on a Solaris system.
As mentioned earlier, UNIX originated as a character based multiuser operating system. A command line interface, or shell, is immediately presented when a user logs in. This is similar to early versions of Windows where a DOS shell would first be presented to the user before the Windows GUI was invoked.
As UNIX grew in popularity, many enhancements were made to the original shell. These enhancements came from different sources and resulted in a choice of shells. Solaris software includes the three most popular shells:
shthe original Bourne shell
cshC-shell, developed as part of BSD UNIX
kshKorn shell, developed at ATT
There is much reference material available on these shells, so their differences and benefits will not be discussed here. One important feature, however, is the ability to specify a start up script when the shell is first started. These start up scripts appear similar to the autoexec.bat file in DOS, but are actually more akin to user profiles in Windows NT.
Although this field is typically used for a login shell, a program or script can be specified instead. For example, a user account called halt can be created which simply executes the Solaris halt command, then exits.
Solaris software supports start up scripts to establish a user's environment as does Windows NT. Solaris software does this by placing a startup file, .login, .profiles, .cshrc in the user's home directory. These files contain scripts and environment variable settings.
Both Solaris software and Windows NT provide default user profiles. FIGURE 2-3 shows a default user desktop environment in Windows NT. FIGURE 2-4 shows a default user desktop environment in Solaris software.
FIGURE 2-3 Windows NT Desktop Environment
FIGURE 2-4 Solaris Desktop Environment
One major difference between creating user profiles in Solaris software and Windows NT is that Windows NT supports system wide (or NT Domain wide) user profiles. Solaris software always looks in the user's home directory for login scripts. However, system wide login scripts can be created in Solaris software by invoking a common script from the login script in a user's home directory.
Sample Solaris login scripts can be found in /etc/skel. These scripts can be modified and copied to the user's home directory as .profile, .login, and .cshrc. Accounts created with Admintool or AdminSuite will have these scripts automatically copied if desired.