System managers are under constant pressure to do more with the resources they already have and to rationalize and consolidate. The products available today to integrate the Solaris and PC environments greatly help achieve these objectives.
The Sun PCi coprocessor card effectively co- locates a powerful PC within the Sun system hardware, allowing it to take advantage of the Solaris system resources and eliminating the need for two separate systems on the desktop.
Solaris PC Netlink delivers sufficient Windows NT integration to replace NT servers completely with significantly fewer Solaris systems, thanks to the reliability and scalability that the Sun platform is renowned for.
Interoperability between UNIX and PC environments has been high on the Sun Microsystems agenda for several years . The StarOffice productivity suite of software is now considered to be a serious rival to the traditional Microsoft Windows environment.
Chapter 11. Shells and Public Domain Software
L IKE ANY OTHER UNIX ENVIRONMENT, the Solaris operating environment contains at least one command interpreter called a shell. It isn't only an interpreter; it's also a command programming language. The shell is the main interface between the user and the system. The first section in this chapter identifies the shells that are packaged with the Solaris operating environment software, as well as the shells that can be obtained in the public domain. Another shell that is discussed, the secure shell, is an essential tool when extra security is required in a potentially vulnerable network environment.
A considerable amount of software also exists in the public domain, freely available and written by some of the best developers and technical experts in the field of UNIX. The second part of this chapter takes a look at some of the more popular public domain software applications, what they do, and where they can be obtained.
The shell is the means by which UNIX commands are executed, whether at the command line or from a file ”the latter is known as a shell script or program. The system startup (and shutdown) procedures execute a number of shell scripts. The shell is an interactive programming language as well as a command interpreter; it enables the user to set variables and customize the environment. Choosing which shell to use often comes down to personal preference ”you can use the one that you feel most comfortable with and that provides the functionality required.
This section identifies the shells that are available for use with the Solaris operating environment and discusses some of the differences between them. Entire books have been written on the use of the UNIX shells; some of these are referenced in the Appendix, "Resources." This section is intended only to identify and introduce the different shells.
Shells Bundled with the Solaris Environment
A number of shells actually are delivered with the Solaris operating environment, offering various features:
Don't lose the root shell
The standard shell for the superuser (root) resides in /sbin/sh. The sbin directory contains statically linked programs ”that is, programs that already contain any library functions that might be required to execute the program. Therefore, they are self-sufficient, unlike dynamically linked programs that call library modules at runtime. Changing the default root shell to a dynamically linked shell might save a little bit of disk space, but it could also mean that the superuser cannot log on in case of a failure affecting the runtime libraries.
Shells Available in the Public Domain
A number of shells have been written and made available in the public domain. These are mainly extensions to the existing shells with additional functionality added. Although there are many, three of the more popular ones are discussed here:
These three shells are now delivered as standard with Solaris 8. Their basic functionality is extremely similar, with job control, word completion, a command-line editor, and the capability to recall a history of previously entered commands being common to all of them.
The Secure Shell
The secure shell provides the means to access systems securely, using encrypted communications between a client and a Solaris system based on their own SSH secure protocol. The secure shell daemon runs on the Solaris system and will accept a login request only from a "known host" ”that is, a system with a registered encryption key. The secure shell is available from SSH Communications Security Corp. (http://www.ssh.com). This has become the de facto standard for users requiring remote logins.
Two versions of the secure protocol exist: SSH version 1 (SSH1) and SSH version 2 (SSH2). Both encrypt at different parts of the network packet. SSH2 uses only host keys to authenticate systems, whereas SSH1 uses server and host keys. The two protocols are incompatible, although they can both be run on the same system if SSH1 was installed before SSH2. The SSH2 protocol is a complete rewrite and is more secure. SSH2 also includes an easy-to-use secure file transfer facility, using the Secure File Transfer Protocol (SFTP).
Licensing of the two protocols has been a factor in deciding which one to use. SSH1 was originally free, although versions later than 1.2.12 apply restrictive licensing. A number of ISPs still work on SSH1 because it is free and has proven to be stable because it has been around longer. SSH2, on the other hand, is free only for nonprofit organizations, educational organizations, or entities using it purely for charity.
SSH is not only a shell, but it also provides a graphical environment when needed in a secure environment. The X Window System over SSH can be used when only secure connectivity is permitted.