1 / 55

LIS651 lecture 5 origins of wotan direct use of wotan

Thomas Krichel 2008-11 -23. LIS651 lecture 5 origins of wotan direct use of wotan. Early Computing History. In the 1940s and 1950s, all computers were personal computers in the sense that a user would sign up to use the machine and then take over the whole machine for that period.

jenis
Download Presentation

LIS651 lecture 5 origins of wotan direct use of wotan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Thomas Krichel 2008-11-23 LIS651 lecture 5origins of wotan direct use of wotan

  2. Early Computing History • In the 1940s and 1950s, all computers were personal computers in the sense that a user would sign up to use the machine and then take over the whole machine for that period. • The early 1960s were dominated by batch systems in which a user would submit a job on punched cards and wait, usually hours, before any printed output appeared.

  3. Early Computing History • To get around this unproductive environment, the concept of timesharing was invented by Dartmouth College and M.I.T. • The M.I.T system CTSS (Compatible Time Sharing System) was an enormous success. • M.I.T., Bell Labs, and General Electric created a second generation timesharing system named MULTICS (Multiplexed Information and Computing Service).

  4. Early UNIX History • At Bell Labs, Ken Thompson decided to write a stripped down version of MULTICS for the very small PDP-7 minicomputer which he called UNICS. • Dennis Ritchie, also at Bell Labs, joined Thompson in further developments of what was now called UNIX. • Together they ported the system the the larger and very popular PDP-11/20 and PDP-11/45 minicomputers.

  5. Early UNIX History • In 1974, Ritchie and Thompson published a paper about UNIX and received the prestigious ACM Turing Award. • This publication stimulated many universities to request a copies of UNIX. • Since Bell Labs, part of AT&T, was not allowed to be in the computer business, it licensed UNIX to universities. • Result: UNIX was a hit on campus.

  6. UNIX Structure • Thekernel is the core of the UNIX system, controlling the system hardware and performing various low-level functions. The other parts of the UNIX system, as well as user programs, call on the kernel to perform services for them. • The shell is the command interpreter for the UNIX system. The shell accepts user commands and is responsible for seeing that they are carried out.

  7. BSD UNIX • One of the many universities that had received license for UNIX was the University of California at Berkeley. • Aided by many government grants, Berkeley released an improved version named 1BSD (First Berkeley Software Distribution)‏ • BSD added many new features including a new visual editor (vi) and a new shell (csh).

  8. Two UNIX Versions • Because of these and other enhancements, many companies based their UNIX on Berkeley’s version as opposed to AT&T’s so-called System V. • By the late 1980s, two different and somewhat incompatible versions of UNIX were in widespread use: 4.3 BSD and System V release 3.

  9. UNIX Standards • In addition, every vendor added its own nonstandard enhancements. • In an attempt to unify the troops, the IEEE Standards Board undertook the POSIX Project (POS for Portable Operating System) and IX to make it UNIX like. • POSIX 1003.1 emerged as a common ground standard. • 1003.1 is the intersection of System V and BSD. (a feature had to be on both to be included in the standard)‏

  10. GNU • GNU is a project started by Richard M. Stallman (RMS) to write a completely free implementation of Unix available. • GNU stands for “GNU is not Unix” • Most of Unix has been rewritten by him and his friends. • Many other software packages have been released for free. Stallman pioneered a particular concept of free software.

  11. free software according to RMS • Free software comes with four freedoms • The freedom to run the software, for any purpose • The freedom to study how the program works, and adapt it to your needs • The freedom to redistribute copies so you can help your neighbor • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits

  12. the GNU public license • Richard M. Stallman created the GNU public license. • The license restricts the right of software users to add restrictions on the use of derivative products. • The idea is that when you get free software, you can not restrict the freedom of users of derivative software.

  13. UNIX-like Systems • MINIX, by Andrew Tanenbaum, used a microkernel design with only 1600 lines of C and 800 lines of assembler in its first version. • In 1991, a Finnish student named Linus Torvalds released another UNIX clone named Linux. It is a UNIX kernel for Intel processors. • FreeBSD is a competitor to Linux, started in 1993.

  14. Linux • Linux is a monolithic UNIX kernel. • Linux quickly grew in size and functionality. • Version 1, shipped in 1994, contained about 165,000 lines of code. • Version 2 in 1996 contained about 470,00 lines of C and 8000 lines of assembler. • Linux is released under the GNU public license, which, very basically means that anyone can copy and change it.

  15. Linux Distributions • Linux itself is free. It is aggregated with installation and management tools, and many other software packages, and made available for a small fee by various vendors on CD. • These aggregates are known as distributions. • The one used by wotan is called Debian. It packages Linux with GNU software almost excusively.

  16. communication with wotan • For file editing and manipulation, we use putty. • For file transfer, we use winscp. • Both are available on the web. • The protocol is ssh, the secure shell, based public-key cryptography.

  17. installing putty • Go to your favorite search engine to search for putty. • If you have administrator rights install the installer version. • Since you have already installed winscp, you should have no further problems.

  18. putty options • In the window/translation choose UTF-8, always. • Find out what the size of your screen is of screen that your are using for the font that you are using, and save that in your session. • For wotan, the port is 22, ssh. • You can choose to disable the annoying bell.

  19. Diffie and Hellman (1978)‏ • Let P be the plaintext, C be the cyphertext. E() is the encryption key and D() is the decryption key. • Then we have public key cryptography if • 1. D(E(P))=P • 2. D() can not be broken by chosen plaintext attack. • 3. Knowing E() will give you no clue about D(). • E() can then be made public and is referred to as the public key, D() is the private key. • It is possible to find key pairs that have these properties.

  20. Authentication • I want to securely login to a host machine. • I send the hast an encrypted message ``hey, I am Thomas, my public key is 7ni820g=0...'' • Machine then knows how to send me messages that other people can not decode. • But it can not be sure that it was me who sent the message. An intruder may have done that since me public key is public. • This problem is solved by challenge/response

  21. challenge/response • To find out if I am the person that I claim to be, the machine encodes a random number, and challenges me to decode that number. • If I can decode the challenge, I must be the person whom I claim I am.

  22. key creation • “ssh-keygen” is the command to use to create a key. Answer all questions with the <ENTER> key. • “cd .ssh” and “ls -l” shows you the contents of the directory .ssh created in the first step. • The file “id_rsa.pub” has your public key.

  23. authorized_keys • In .ssh, you can maintain a file “authorized_keys” that contains the public keys of all users you authorize to access the account, one line per user. • “cp id_rsa.pub authorized_keys” will authorize yourself. Then “ssh user@wotan” will allow you to login again as you on wotan. • You can also create a public key with putty.

  24. issuing commands • While you are logged in, you talk to the computer by issuing commands. • Your commands are read by command line interpreter. • The command line interpreter is called a shell. • You are using the Bourne Again Shell, bash.

  25. bash features • bash allows to browse the command history with the up/down arrow keys. • bash allows to edit commands with the left/right arrow keys. • You can complete command and file names with <TAB>. • bash comes with a language of commands that allows to write batch files. • “exit” is the command to leave the shell.

  26. environment variables • These are variables used by the shell. • Two important ones are • $HOME your home directory • $PATH the location where bash will search for executable files. • echo $HOME will show you your home directory. • “env” is a command that can be used to see all environment variables.

  27. environment variables and PHP • All environment variables can be accessed with $_ENV{'env'} in PHP, where env in the name of the environment variable. • Example $home=$_ENV{'HOME'}; print "my home is $home.</br>";

  28. bash initialization • Files that start with a dot are hidden. They are only seen with “ls -a”. • .bashrc is a file written in bash language that is run every time bash is started. • .bash_profile or .profile is run when the shell is started at login. • You can customize these files.

  29. files, directories and links • Files are continuous chunks data on disks that are required for software applications. • Directories are files that contain other files. Microsoft calls them folders. • In UNIX, the directory separator is “/” • The top directory is “/” on its own.

  30. home directory • When you first log in to wotan you are placed in your home directory /home/username • “cd” is the command that gets you back to the home directory. • The home directory is also abbreviated as “~“ • cd ~user gets you to the home of user user. • “cd ~” does what?

  31. ~/public_html • Is your web directory. I created it with “mkdir public_html” in your home directory. • The web server on wotan will map requests to http://wotan.liu.edu/~user to show the file ~user/public_html/index.html • The web server will map requests to http://wotan.liu.edu/~user/file to show the file ~user/public_html/file • The server will do this by virtue of a configuration option.

  32. changing directory, listing files • cd directory changes into the directory directory • the current directory is “.” • its parent directory is “..” • ls lists files

  33. users and groups • “root” is the user name of the superuser. • The superuser has all privileges. • There are other physical users, i.e. persons using the machine • There are users that are virtual, usually created to run a daemon. For example, the web sever in run by a user www-data. • Arbitrary users can be put together in groups.

  34. reason to run things on wotan • When your run PHP files as a web user, the web server runs the PHP file. • The web server runs as a special user, often called www-data. • This user is not allowed to create files. • Since file creation and manipulation is the essence of digital librarianship, we need to run directly on the machine.

  35. permission model • Permission of files are given • to the owner of the file • to the group of the file • and to the rest of the world • A group is a grouping of users. Unix allows to define any number of groups and make users a member of it. • The rest of the world are all other users who have access to the system. That includes www-data!

  36. listing files • “ls” lists files • “ls -l” make a long listing. It contains • elementary type and permissions (see next slide)‏ • owner • group • size • date • name

  37. first element in ls -l • Type indicator • d means directory • l means link • - means ordinary file • 3 letters for permission of owner • 3 letters for permission of group • 3 letters for permission of rest of the world • r means read, w means write, x means execute • Directories need to be executable to get in them.

  38. change permission: chmod • usage: chmod permission file • file is a file • permission is three numbers, first for owner, 2nd for group and 3rd rest of the world. • Each number is sum of • 4 for read - 2 for write • 1 for execute - 0 for no permission • Example: chmod 764 file

  39. general structure of commands • commandname –flag --option • Where commandname is a name of a command • flag can be a letter • Several letters set several flags at the same time • An option can also be expressed with - - and a word, this is more user-friendly than flags.

  40. example command: ls • ls lists files • ls -l makes a long listing • ls -a lists all files, not only regular files but some hidden files as well • all files that start with a dot are hidden • ls -la lists all files is long listing • ls --all is the same as ls -a. --all is known as a long listing.

  41. copying and removing files • cp file copyfile copies file file to file copyfile. If copyfile is a directory, it copies into the directory. • mv file movedfile moves file file to file movedfile. If movedfile is a directory, it moves into the directory. • rm file removes file,there is no recycling bin!!

  42. directories and files • mkdir directory makes a directory • rmdir directory removes an empty directory • rm -r directory removes a directory and all its files • more file • Pages contents of file, no way back • less file • Pages contents of file, “u” to go back, “q” to quit

  43. soft links • A link is a file that contain the address of another file. Microsoft call it a shortcut. • A soft link can be created with the command • ln -s file link_to_file where file is a file that is already there and link_to_file is the link.

  44. file transfer • You can use winscp to upload and download files to wotan. • If uploaded files in the web directory remain invisible, that is most likely a problem with permission. Refer back to permissions. • chmod 644 * will put it right for the files • chmod 755 . (yes with a dot) will put it right for the current directory • * is a wildcard for all files. • rm -r * is a command to avoid.

  45. editing • There are a plethora of editors available. • For the neophyte, nano works best. • nano file edits the file file. • nano -w switches off line wrapping. • nano shows the commands available at the bottom of the screen. Note that ^letter, where letter is a letter, means pressing CONTROL and the letter letter at the same time.

  46. emacs • This is another editor that is incredibly rich and complex. • Written by Richard M. Stallman, of GNU and GPL fame. • Get an emacs cheat sheet of the web before you start it. Or look at next slide.

  47. emacs commands (here ^ stands for the control character)‏ • ^x^s saves buffer • ^x^c exits emacs • ^g escapes out of a troublesome situation • control+space sets the mark • ^w removes until the mark (cut)‏ • ^y pastes

  48. common emacs/bash commands • ^k kills until the end of the line or removes empty line • ^y yank what has been killed (paste)‏ • ^a get to the beginning of the line • ^e get to the end of the line • These commands also work in the shell.

  49. emacs modes • Just like people get into different moods, emacs gets into different modes. • One mode that will split your pants is the PHP mode. • “emacs file.php” to edit the file file.php in PHP mode. • Then look how emacs checks for completion of parenthesis, braces, brackets, and the ; and use the tab character to indent.

  50. copy and paste • Putty allows to copy and paste text between windows and wotan. • On the windows machine, it uses the windows approach to copy and paste • On wotan machine, • you copy by highlighting with the mouse’ left button • you paste using the middle button • if you don't have a middle button, use left and right together

More Related