% CST8207 Week 07 Notes -- File System, Inodes, Hard links, Disk usage, quotas, symbolic links, modes, permissions, chmod % Ian! D. Allen -- -- [www.idallen.com] % Fall 2016 - September to December 2016 - Updated 2017-01-20 00:48 EST - [Course Home Page] - [Course Outline] - [All Weeks] - [Plain Text] Readings, Assignments, Labs, Tests, and ToDo ============================================ Read (at least) these things (All The Words) -------------------------------------------- 1. [Week 07 Notes HTML] -- this file -- **Read All The Words** 2. [Unix/Linux File System] -- directories, inodes, hard links 3. [Hard links and Unix/Linux file system index nodes (inodes)] 4. [Unix/Linux Disk Usage, Hard Links, Quotas, Finding Inodes] 5. [Symbolic Links] 6. [Unix Modes and Permissions, whoami, id, groups, ls -l, chmod] 7. [List of Commands You Should Know] 8. [Linux and Sysadmin News in the World] 9. [Video Tutorials on Lynda.com] -- tagged by week number - Create your [lynda.com] account and watch these sections of [Unix for Mac OS X Users] - these videos are for *all* Unix/Linux students, not just Mac OSX users - **3. Working with Files and Directories** - Naming files 5m 41s - use quotes to surround names with blanks or special characters - Hard links 5m 30s - Symbolic links 6m 36s - **4. Ownership and Permissions 34m 58s** - Who am I? 4m 3s - `whoami` - Unix groups 1m 52s - `groups` - File and directory ownership 6m 41s - `ls -la` - you do not have permission to use `chown`, `sudo`, or `su` on the CLS - File and directory permissions 4m 27s - `rwx` notation - Setting permissions using alpha notation 6m 49s - `chmod` - Setting permissions using octal notation 3m 49s - ``` chmod 644 ``[names...] ``` - **5. Commands and Programs** - The PATH variable 4m 13s - Disk information commands 6m 8s - df, du, - **7. Configuring Your Working Environment 41m 28s** - Setting the PATH variable 6m 10s - using double quotes instead of single quotes Assignments this week --------------------- Check the due date for each assignment and put a reminder in your agenda, calendar, and digital assistant. Just like in the Real World, not all due dates are on the same days or at the same times. - Review last week. Did you do everything assigned last week? - Read All The Words, Do, and then Submit via Blackboard: - Bonus (optional) [Assignment #04 HTML] -- the VIM text editor - [Assignment #05 HTML] -- GLOB wildcard patterns, finding files using GLOB, redirection and pipes - Bonus (optional) [Assignment #06 HTML] about Midterm #1 - [Assignment #07 HTML] -- start-up files, environment, search PATH, quoting, hard and soft links, disk usage - Really do **Read All The Words**. You don't get a second chance to get it right. ### Worksheets Worksheets are preparation for your assignments. You can't do the assignments without having done the worksheets first, and you can't do the worksheets without having first read the Course Notes: 1. Read. 2. Worksheet. 3. Assignment. Form a small study group to do the worksheets. Each person tries the example given, and you make sure you all get the same answers. Worksheets are not for hand-in; they are not worth marks; the assignments test your knowledge of the lectures and worksheets. > The worksheets are available in four formats: Open Office (ODT), PDF, HTML, > and Text. Only the Open Office format allows you "fill in the blanks" in > the worksheet. The PDF format looks good but doesn't allow you to type into > the blanks in the worksheet. The HTML format is crude but useful for quick > for viewing online. Do **NOT** open the Worksheet ODT files using any Microsoft products; they will mangle the format and mis-number the questions. Use the free Libre Office or Open Office programs to open these ODT documents. On campus, you can [download Libre Office here]. - [Worksheet #04 ODT] -- shell GLOB patterns and Aliases - [Worksheet #04 PDF] - [Worksheet #04 HTML] - shell GLOB patterns (wildcards), Aliases: `alias, sum, unalias` - [Worksheet #05 ODT] -- shell I/O redirection (including pipes) - [Worksheet #05 PDF] - [Worksheet #05 HTML] - shell I/O redirection, `date, head, nl, tail, tr, wc` - [Worksheet #06 HTML] -- *Optional* Bonus VIM Text Editor Practice - This is an *optional* worksheet for a BONUS assignment using `vim` - Optional command-line VIM tutorial: the `vimtutor` program on the CLS. - Bonus (optional) [Assignment #04 HTML] -- the VIM text editor - Read [The VI (VIM) Text Editor] Worksheets prepare you for the upcoming assignments. Lab work this week ------------------ - Finish work on the ODT or PDF [Worksheet #04 HTML] and [Worksheet #05 HTML] so you can do [Assignment #05 HTML] -- GLOB wildcard patterns, finding files using GLOB, redirection and pipes - These worksheets require you to understand [Finding Files], [Shell GLOB patterns] (wildcard pathname matching) and [Shell I/O Redirection] (including Pipes). - Read [The VI (VIM) Text Editor] and optionally do the bonus [Assignment #04 HTML]. - Do Bonus (optional) [Assignment #06 HTML] about Midterm #1 - There will be a checking program available to check your file format for this bonus assignment, but only people who Read All These Words will know about it. Wrong format means no marks. - [Assignment #07 HTML] is about start-up files, environment, search PATH, quoting, hard and soft links, disk usage Upcoming tests -------------- Read the [Test Instructions] (all the words) before your midterm tests. Put these dates into your phone! Use the **Name Game** link to test your name before the test. I don't answer questions about the instructions during the test. 1. **Second Midterm test:** 45 minutes; in lecture class on Wednesday in Week 10 (Nov 9) 2. **Final Exam:** 180 questions in 180 minutes in Week 15 - Three Hours! Take a bathroom break before you start the exam. - Assigned Seating in T117/119 (see your email for your assigned seat) - Thursday December 15 11h30 (11:30am to 2:30pm) in T117/119 Tests take place in class in your 50-minute lecture period, not in your lab period. Each midterm test is 45 minutes long and contains approximately 45 multiple-choice questions similar to those found in [Practice Tests and Answers]. The Final Exam is in T117/119 Thursday December 15 11h30 in Week 15. The Final Exam is three hours long. Take a washroom break before you start. ### Midterm Test #2 -- Wednesday November 9 - Midterm #2 takes place on Wednesday, November 9 (Week 10) in your scheduled lecture hour (not in your lab period). - For full marks, you must read the [Test Instructions] before the test for important directions on how to enter your name, answers, your lab (not lecture) section number, and the test version number on the question sheet and the mark-sense forms. - There may be more questions on the test than you can answer in the time allowed; answer the ones you know, first. Midterm Test #1 Analysis ======================== - 176 students are registered in the course. - Of the 176, 11 did not write the test, leaving 165 who did. - Of the 165, 26 did not enter their own name correctly. - Of the 165, 41 did not enter a valid test version number. - Number of students who got question `#45` wrong even though the answer was given in the **Test Instructions** printed at the top of the test: `30` - The 165 class scores: 95.6 94.6 93.3 93.3 91.1 90.2 87.1 86.7 85.8 84.4 84.4 82.2 82.2 82.2 82.2 79.2 77.8 77.8 77.8 77 75.6 73.3 73.3 73.3 73.3 72.6 71.9 71.1 71.1 71.1 71.1 70.4 69.7 68.9 68.9 68.9 68.9 68.9 66.7 66.7 66.7 66.7 66.7 66.7 66.7 66 66 66 64.4 64.4 64.4 64.4 64.4 64.4 62.2 62.2 62.2 61.6 61.6 61.6 60.4 60 59.4 58.8 58.2 57.8 57.8 57.8 57.8 55.6 55 55 54.5 53.3 53.3 51.1 51.1 51.1 51.1 51.1 50.1 48.9 48.9 48.9 48.4 46.7 46.7 46.7 46.7 44.4 44.4 44.4 44 42.2 42.2 41.8 41.8 41.4 41.4 41.4 41.4 40 40 40 40 40 39.6 39.2 39.2 37.8 37.4 37 37 36.7 36.7 35.6 35.6 35.6 35.6 35.2 34.8 33.3 33.3 33 33 32.7 32.7 31.1 31.1 30.8 30.8 30.8 30.8 28.9 28.9 28.6 28.6 26.7 26.7 26.7 26.7 26.7 26.4 26.4 26.1 26.1 24.4 24.4 24.2 24 23.7 23.7 23.7 23.5 19.8 19.8 19.6 19.6 17.8 17.8 17.8 17.4 13.3 13.2 0 165: Pass 81 (49.1%) Fail 84 (50.9%) 15 A ( 9.1%) 6 A- 3 A 6 A+ 18 B (10.9%) 7 B- 6 B 5 B+ 29 C (17.6%) 8 C- 9 C 12 C+ 19 D (11.5%) 6 D- 6 D 7 D+ 84 F (50.9%) 72 F- 4 F 8 F+ 90% - 100% 6 ****** 80% - 90% 9 ********* 70% - 80% 18 ****************** 60% - 70% 29 ***************************** 50% - 60% 19 ******************* 40% - 50% 26 ************************** 30% - 40% 26 ************************** 20% - 30% 25 ************************* 10% - 20% 6 ****** 0% - 10% 1 * - You can see the class errors in [Midterm Test #1 PDF]. > I spent several hours correcting your errors on the mark-sense forms. > Before your next test, you need to re-read the [Test Instructions]. > Penalties go up for making Scantron errors on the next test. Notes from the Classroom ======================== - **Take notes in class!** Keep a pad open on your desk. - ASCII-Art Weather. Widen your terminal to 125 characters or more and type this at any shell prompt: `curl wttr.in/ottawa` - See also - A [Command Line Primer for Beginners] - [First 5 Commands When I Connect on a Linux Server] Commands Used ------------- Keep a notebook with a [List of Commands][List of Commands You Should Know] in it. - You need to write down yourself what each command *does*. - I will check for this list in your lab periods. - Check the updated list of commands each week. - Bring your notes to class! Stop wasting time looking up commands. - Are you making notes from the worksheets on how each command works? - What do the options used in the worksheets mean, for each command? - Don't copy and use options that you don't understand! - Useful command: `hostname` - Needed for [Assignment #07 HTML] - Three useful options to the `wc` command (often used in tests): - `wc -l` - `wc -w` (Needed for your second midterm test.) - `wc -c` - Know (for the assignment) the three commands that are [directory operations][Hard links and Unix/Linux file system index nodes (inodes)] that manipulate file names; they don't touch the file data and don't need any permissions on the file data. Fifteen minute rule ------------------- Your time as a student is valuable. See the [Week 03 Notes HTML]. HTTP attacks on Course Linux Server =================================== In addition to the SSH attacks, the [Course Linux Server] receives attacks using bogus HTTP requests. These unsuccessful attacks below attempt to use a chain of parent directories to fetch a file out of the file system: # zfgrep '../..' /var/log/apache2/error.log* /var/log/apache2/error.log:[Wed Oct 19 20:49:33 2016] [error] [client 189.100.188.31] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0 /var/log/apache2/error.log.1:[Sat Oct 15 06:49:57 2016] [error] [client 177.142.99.103] Invalid URI in request GET /../../../../../../../mnt/mtd/qt HTTP/1.0 /var/log/apache2/error.log.14.gz:[Mon Jun 27 17:54:40 2016] [error] [client 222.198.128.207] Invalid URI in request GET /../../../../../../../mnt/mtd/3qS9 HTTP/1.1 /var/log/apache2/error.log.2.gz:[Fri Oct 07 09:34:11 2016] [error] [client 64.137.234.42] Invalid URI in request GET /../../../../../../../mnt/mtd/ahMk HTTP/1.1 /var/log/apache2/error.log.22.gz:[Mon May 02 12:21:45 2016] [error] [client 222.235.67.147] Invalid URI in request GET /../../../../../../../mnt/mtd/IJSj HTTP/1.1 /var/log/apache2/error.log.23.gz:[Tue Apr 26 17:09:59 2016] [error] [client 67.79.37.250] Invalid URI in request GET /../../../../../../../mnt/mtd/yqcP HTTP/1.1 /var/log/apache2/error.log.42.gz:[Sun Dec 13 13:50:57 2015] [error] [client 54.201.251.33] Invalid URI in request GET /../../ratings.html HTTP/1.1 /var/log/apache2/error.log.42.gz:[Sun Dec 13 13:51:01 2015] [error] [client 54.201.251.33] Invalid URI in request GET /../../index.html HTTP/1.1 ![Take Notes in Class] -- | Ian! D. Allen, BA, MMath - idallen@idallen.ca - Ottawa, Ontario, Canada | Home Page: http://idallen.com/ Contact Improv: http://contactimprov.ca/ | College professor (Free/Libre GNU+Linux) at: http://teaching.idallen.com/ | Defend digital freedom: http://eff.org/ and have fun: http://fools.ca/ [Plain Text] - plain text version of this page in [Pandoc Markdown] format [www.idallen.com]: http://www.idallen.com/ [Course Home Page]: .. [Course Outline]: course_outline.pdf [All Weeks]: indexcgi.cgi [Plain Text]: week07notes.txt [Week 07 Notes HTML]: week07notes.html [Unix/Linux File System]: 450_file_system.html [Hard links and Unix/Linux file system index nodes (inodes)]: 455_links_and_inodes.html [Unix/Linux Disk Usage, Hard Links, Quotas, Finding Inodes]: 457_disk_usage.html [Symbolic Links]: 460_symbolic_links.html [Unix Modes and Permissions, whoami, id, groups, ls -l, chmod]: 500_permissions.html [List of Commands You Should Know]: 900_unix_command_list.html [Linux and Sysadmin News in the World]: 950_linux_world.html [Video Tutorials on Lynda.com]: 910_lynda_index.html [lynda.com]: http://algonquincollege.com/onlineresources/mobileStudent/lynda.htm [Unix for Mac OS X Users]: http://www.lynda.com/Mac-OS-X-10-6-tutorials/Unix-for-Mac-OS-X-Users/78546-2.html [Assignment #04 HTML]: assignment04.html [Assignment #05 HTML]: assignment05.html [Assignment #06 HTML]: assignment06.html [Assignment #07 HTML]: assignment07.html [download Libre Office here]: 050_course_introduction.html#install-libreoffice-or-openoffice-into-windows [Worksheet #04 ODT]: worksheet04.odt [Worksheet #04 PDF]: worksheet04.pdf [Worksheet #04 HTML]: worksheet04.html [Worksheet #05 ODT]: worksheet05.odt [Worksheet #05 PDF]: worksheet05.pdf [Worksheet #05 HTML]: worksheet05.html [Worksheet #06 HTML]: worksheet06.html [The VI (VIM) Text Editor]: 300_vi_text_editor.html [Finding Files]: 180_finding_files.html [Shell GLOB patterns]: 190_glob_patterns.html [Shell I/O Redirection]: 200_redirection.html [Test Instructions]: 000_test_instructions.html [Practice Tests and Answers]: PRACTICE_TEST_README.html [Midterm Test #1 PDF]: midterm1_16f.pdf [Command Line Primer for Beginners]: http://lifehacker.com/5633909/who-needs-a-mouse-learn-to-use-the-command-line-for-almost-anything [First 5 Commands When I Connect on a Linux Server]: http://www.linux.com/blog/first-5-commands-when-i-connect-linux-server [Week 03 Notes HTML]: week03notes.html [Course Linux Server]: 070_course_linux_server.html [Take Notes in Class]: data/remember.jpg "Take Notes in Class" [Pandoc Markdown]: http://johnmacfarlane.net/pandoc/