StuCo 98008 GNU/Linux For Beginners

Final Exam

(You must answer two out of the following three questions)


1. Encrypted Tunnels

You are relaxing in CMU while using your wireless card to surf the net, when you suddenly notice a long-haired individual with a laptop cruising outside your classroom. He's unshaven, too. You start worrying that this individual will eavesdrop on your web traffic (perhaps with a tool like Dsniff), and want to do something about it.

Armed with creativity, your Andrew ID and some UNIX knowledge, figure out a sniff-proof way to surf the entire World Wide Web, without getting up from your chair and without using a cable.

Show the commands you use, and the encrypted connection(s) necessary to browse http://slashdot.org with your sniff-proof method.


2. Web Server

Create a mirror of the course website on your local machine, and serve it to the world as securely as possible (the machine should have no more ports listening than necessary for the HTTP server).

Use standard UNIX scheduling tools to refresh your local mirror three times a week without administrative interaction.

Show the commands you use to mirror the site, set up your HTTP server, set up automated updates. Include a screenshot showing a browser reading the course website from your HTTP server.


3. For each of the following questions, show the command(s) you used, and the answers you got.

Example:

Q: List the firewall rules of your system

A: # /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

  1. Find out how fast your CPU is.
  2. How much physical memory does your machine have?
  3. How much virtual memory (swap) does your machine have?
  4. How much free space do your hard drives have?
  5. How much disk space does your home directory occupy?
  6. How do I find out what devices (VGA card, NICs, controllers, disks etc) my machine consists of?
  7. How would you get a little quick help about the syntax and usage of a tool?
  8. How would you get detailed information about the syntax and usage of a tool?
  9. What are the possible information sources about a tool installed on your GNU/Linux system?
  10. Why is it important to use a console text editor (like vi) and not a graphical editor (like KWrite) to edit a configuration file?
  11. How can one see only the last 10 lines of a file?
  12. How can one see only the first 10 lines of a file?
  13. Execute any of the firewall scripts provided in Session 10. Why can't you see any /sbin/iptables in the output of ps?
  14. How can I see all processes active by the user jmk?
  15. How can you select all lines of a stream/file that start with the word "yemen"?
  16. How can I redirect the output of a command to a file/device?
  17. What pieces of information should always be included in a GNU/Linux mailing list post requesting help?
  18. What is a "binary" (file)?
  19. What is the difference between source code and compiled code?
  20. Identify the parameters of the following command, and describe what each does: $ /bin/ls -alhs

Due by 21 November 2003, 17:30.

apapadop+stuco@cmu.edu