Chapter 1

Up Next

horizontal rule

Home
Chapter 1
Chapter 2
Chapter 3
The Shell
Parameters and Variables
The Bourne Again Shell
Grep and AWK
Control Structures
Shell Program examples
TC Shell
Programming tools
Networking and the Internet

To connect to our jupiter system from home you will need to use secure shell. This program can be downloaded at:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html download putty.exe

1.1. What is Secure Shell?

To paraphrase the README file:

Secure Shell (SSH) is a program to log into another computer over a network, to execute commands in a remote machine, and to move files from one machine to another. It provides strong authentication and secure communications over unsecure channels. It is intended as a replacement for telnet, rlogin, rsh, and rcp. For SSH2, there is a replacement for FTP: sftp.

Additionally, SSH provides secure X connections and secure forwarding of arbitrary TCP connections. You can also use SSH as a tool for things like rsync and secure network backups.

The traditional BSD 'r' - commmands (rsh, rlogin, rcp) are vulnerable to different kinds of attacks. Somebody who has root access to machines on the network, or physical access to the wire, can gain unauthorized access to systems in a variety of ways. It is also possible for such a person to log all the traffic to and from your system, including passwords (which ssh never sends in the clear).

The X Window System also has a number of severe vulnerabilities. With ssh, you can create secure remote X sessions which are transparent to the user. As a side effect, using remote X clients with ssh is more convenient for users.

There are two versions of Secure Shell available: SSH1 and SSH2. This FAQ does its best to distinguish when the situation calls for the difference between the two.

Here is a good link to tutorials for ELM http://www.inebraska.com/help/tutorials/elm.html

Unix (Linux) - Chapter 1

 What is an operating system?

Set of programs that control the computer system.

It allocates computer resources.

Perform various functions at the same time (concurrently)

 History

(UNIX) Developed at AT&T Bell laboratories in 1969, by Ken Thompson at first just run jobs in a batch mode since then it had many improvements. (multi-user). It became widely available around 1975.

Other UNIX distributions

(BSD) Berkeley Software Distribution
Unix System V
XENIX
SunOS

Linux

            Linux is a free Unix-type operating system originally created by Linus Torvalds with the assistance of developers around the world. Linux is an independent POSIX (Portable Operating System Interface for Computer Environments) implementation and includes true multitasking, virtual memory, shared libraries, demand loading, proper memory management, TCP/IP networking, and other features consistent with Unix-type systems.

             In 1990, Finnish computer science student Linus Torvalds turned Minix, a popular classroom teaching tool, into Linux, which is closer to the real UNIX. Torvalds created the kernel, and most of the supporting applications and utilities came from the GNU project of the Free Software Foundation. Many programmers have contributed to the Linux/GNU system. VA Linux Systems provides a Web site devoted entirely to Linux

 Why is it popular?

        Advances of hardware technology (cost and can do with smaller systems what once could be done only with larger machines)

        Generic OS

        Linux is written and distributed under the GNU General Public License which means that its source code is freely-distributed and available to the general public.

        Linux is not just for Intel based computer. It has been ported to and runs on the Power PC (Apple), DEC Alpha-based computers, MIPS-based machines and Motorola 68K based machines. It also runs on multiple processor machines.

How can UNIX run in so many machines?

         It was written in C which is a higher level language, machine independent.

 

OVERVIEW OF UNIX (LINUX)

                 It has several hundred utility programs called commands

     It can support many users

     It can support many tasks

     The system Kernel

The fundamental part of a program, typically an operating system, that resides in memory at all times and provides the basic services. It is the part of the operating system that is closest to the machine and may activate the hardware directly or interface to another software layer that drives the hardware.

           File structure - The files are arranged under directories. Also links allowing one file to be accessed by of two of more names, making them easy to share.

    Security

          The Shell - A command interpreter that acts as an interface between users and the OS. When a command is given, the shell interprets the command and call the program. I can also be used as a high level programming language.

      bash - is the shell, or command language interpreter, that will appear in the GNU operating system. The name is an acronym for the `Bourne-Again SHell'

   tcsh - is a C shell that features a scrollable command history list with interactive editing. Tcsh makes it much easier to fix typos and reuse commands. In the following sections, '%' is the Unix command prompt.

      zsh - is arguably the most powerful and configurable UNIX shell available. There are very few, if any, things that other shells can do that zsh can not.

      PD-ksh is a clone of the AT&T Korn shell. At the moment, it has most of the ksh88 features, not much of the ksh93 features, and a number of its own features

          Device Independent Input Output

Devices and disk files all appear as files to UNIX programs. You can instruct to send it the output to any of several devices or files (called redirection)     

         Shell functions - Users can use the shell as a programming language.

          Interprocess Communication - Unix allows users to establish pipes and filters on the command line. A pipe sends the output of one program to another as an input. A pipe is a program designed to process a stream of input data and yield a stream of output data.

         Job Control - Allows users to work on several jobs at once.

     Advanced email system

            mailx, mail, elm, pine

     Screen editor vi (full screen editor), joe, emacs.

     Graphical user interface (X-Windows)

 

 

horizontal rule

Back to CS140U Homepage
This page was last modified September 26, 2004
wmorales@pcc.edu