\BOOKMARK [0][-]{chapter.1}{Overview}{}% 1 \BOOKMARK [1][-]{section.1.1}{Generic Features of Unix}{chapter.1}% 2 \BOOKMARK [1][-]{section.1.2}{Linux \204 The Kernel of a System}{chapter.1}% 3 \BOOKMARK [1][-]{section.1.3}{Fundamental Characteristics of Linux}{chapter.1}% 4 \BOOKMARK [1][-]{section.1.4}{Multiuser Multitasking and Time-sharing}{chapter.1}% 5 \BOOKMARK [1][-]{section.1.5}{Protected memory mode}{chapter.1}% 6 \BOOKMARK [1][-]{section.1.6}{Multiple Filesystem Types}{chapter.1}% 7 \BOOKMARK [1][-]{section.1.7}{The Many Faces of a GNU/Linux System}{chapter.1}% 8 \BOOKMARK [1][-]{section.1.8}{The Filesystem}{chapter.1}% 9 \BOOKMARK [1][-]{section.1.9}{Filenames}{chapter.1}% 10 \BOOKMARK [1][-]{section.1.10}{Filename Extensions and File Types}{chapter.1}% 11 \BOOKMARK [1][-]{section.1.11}{Hidden Filenames}{chapter.1}% 12 \BOOKMARK [1][-]{section.1.12}{The Shell \(bash\)}{chapter.1}% 13 \BOOKMARK [1][-]{section.1.13}{Key Features of the Bash Shell}{chapter.1}% 14 \BOOKMARK [1][-]{section.1.14}{Interacting with a Linux `Terminal'}{chapter.1}% 15 \BOOKMARK [1][-]{section.1.15}{Software Tools: The UNIX Philosophy}{chapter.1}% 16 \BOOKMARK [1][-]{section.1.16}{Tasks/Processes}{chapter.1}% 17 \BOOKMARK [1][-]{section.1.17}{Process Communication}{chapter.1}% 18 \BOOKMARK [1][-]{section.1.18}{Re-directing I/O to and from Files}{chapter.1}% 19 \BOOKMARK [1][-]{section.1.19}{Re-directing I/O to and from Files \(continued\)}{chapter.1}% 20 \BOOKMARK [1][-]{section.1.20}{Pipes \046 Tools}{chapter.1}% 21 \BOOKMARK [1][-]{section.1.21}{Linux as a Programming Environment}{chapter.1}% 22 \BOOKMARK [1][-]{section.1.22}{Networking}{chapter.1}% 23 \BOOKMARK [1][-]{section.1.23}{TCP/IP}{chapter.1}% 24 \BOOKMARK [1][-]{section.1.24}{Documentation}{chapter.1}% 25 \BOOKMARK [1][-]{section.1.25}{Using the man pages \(On-Line Manual\)}{chapter.1}% 26 \BOOKMARK [1][-]{section.1.26}{Overview Exercises}{chapter.1}% 27 \BOOKMARK [1][-]{section.1.27}{Overview Solutions}{chapter.1}% 28 \BOOKMARK [0][-]{chapter.2}{Basic Shell}{}% 29 \BOOKMARK [1][-]{section.2.1}{Introduction}{chapter.2}% 30 \BOOKMARK [1][-]{section.2.2}{Getting around the command line}{chapter.2}% 31 \BOOKMARK [1][-]{section.2.3}{History}{chapter.2}% 32 \BOOKMARK [1][-]{section.2.4}{Plumbing}{chapter.2}% 33 \BOOKMARK [1][-]{section.2.5}{Plumbing \(continued\)}{chapter.2}% 34 \BOOKMARK [1][-]{section.2.6}{Output Redirection}{chapter.2}% 35 \BOOKMARK [1][-]{section.2.7}{Input Redirection}{chapter.2}% 36 \BOOKMARK [1][-]{section.2.8}{Combining Redirection}{chapter.2}% 37 \BOOKMARK [1][-]{section.2.9}{Pipelines}{chapter.2}% 38 \BOOKMARK [1][-]{section.2.10}{Background Processes}{chapter.2}% 39 \BOOKMARK [1][-]{section.2.11}{Background Processes \(continued\)}{chapter.2}% 40 \BOOKMARK [1][-]{section.2.12}{Background Processes and nohup}{chapter.2}% 41 \BOOKMARK [1][-]{section.2.13}{Command Grouping and Sub-shells}{chapter.2}% 42 \BOOKMARK [1][-]{section.2.14}{Process Management}{chapter.2}% 43 \BOOKMARK [1][-]{section.2.15}{Signals}{chapter.2}% 44 \BOOKMARK [1][-]{section.2.16}{Signals \(continued\)}{chapter.2}% 45 \BOOKMARK [1][-]{section.2.17}{Background Processes: top}{chapter.2}% 46 \BOOKMARK [1][-]{section.2.18}{Filename Generation}{chapter.2}% 47 \BOOKMARK [1][-]{section.2.19}{Quoting Mechanisms}{chapter.2}% 48 \BOOKMARK [1][-]{section.2.20}{Shell built-in commands}{chapter.2}% 49 \BOOKMARK [1][-]{section.2.21}{Basic Shell Exercises}{chapter.2}% 50 \BOOKMARK [1][-]{section.2.22}{Basic Shell Solutions}{chapter.2}% 51 \BOOKMARK [0][-]{chapter.3}{Basic Tools}{}% 52 \BOOKMARK [1][-]{section.3.1}{Introduction}{chapter.3}% 53 \BOOKMARK [1][-]{section.3.2}{Using Tools}{chapter.3}% 54 \BOOKMARK [1][-]{section.3.3}{The On-Line Manual \(man\)}{chapter.3}% 55 \BOOKMARK [1][-]{section.3.4}{Finding Files the Long Way \(find\)}{chapter.3}% 56 \BOOKMARK [1][-]{section.3.5}{Find examples}{chapter.3}% 57 \BOOKMARK [1][-]{section.3.6}{Locate Files \(locate\)}{chapter.3}% 58 \BOOKMARK [1][-]{section.3.7}{View and Concatenate Files \(cat\)}{chapter.3}% 59 \BOOKMARK [1][-]{section.3.8}{View Large Files \046 Output \(less\)}{chapter.3}% 60 \BOOKMARK [1][-]{section.3.9}{Viewing Parts of Files \(head and tail\)}{chapter.3}% 61 \BOOKMARK [1][-]{section.3.10}{Listing File Information \(ls\)}{chapter.3}% 62 \BOOKMARK [1][-]{section.3.11}{File Classification \(file\)}{chapter.3}% 63 \BOOKMARK [1][-]{section.3.12}{Count Words, Lines, Characters \(wc\)}{chapter.3}% 64 \BOOKMARK [1][-]{section.3.13}{Differences Between Files \(diff\)}{chapter.3}% 65 \BOOKMARK [1][-]{section.3.14}{Compare Binary Files \(cmp\)}{chapter.3}% 66 \BOOKMARK [1][-]{section.3.15}{Regular Expression Searches \(grep\)}{chapter.3}% 67 \BOOKMARK [1][-]{section.3.16}{grep examples}{chapter.3}% 68 \BOOKMARK [1][-]{section.3.17}{Sort and Merge Files \(sort\)}{chapter.3}% 69 \BOOKMARK [1][-]{section.3.18}{sort Examples}{chapter.3}% 70 \BOOKMARK [1][-]{section.3.19}{Display Unique Lines \(uniq\)}{chapter.3}% 71 \BOOKMARK [1][-]{section.3.20}{Split Files \(split\)}{chapter.3}% 72 \BOOKMARK [1][-]{section.3.21}{Splitting Files by Context \(csplit\)}{chapter.3}% 73 \BOOKMARK [1][-]{section.3.22}{Dividing files into columns: cut}{chapter.3}% 74 \BOOKMARK [1][-]{section.3.23}{Compression Utilities: bzip2 and gzip}{chapter.3}% 75 \BOOKMARK [1][-]{section.3.24}{Store and Retrieve Archives \(tar\)}{chapter.3}% 76 \BOOKMARK [1][-]{section.3.25}{Translating Characters \(tr\)}{chapter.3}% 77 \BOOKMARK [1][-]{section.3.26}{Examples of tr Usage}{chapter.3}% 78 \BOOKMARK [1][-]{section.3.27}{Execute programs at specified times \(at\)}{chapter.3}% 79 \BOOKMARK [1][-]{section.3.28}{Options and commands related to at}{chapter.3}% 80 \BOOKMARK [1][-]{section.3.29}{Running commands regularly \(crontab\)}{chapter.3}% 81 \BOOKMARK [1][-]{section.3.30}{Evaluate expressions \(expr\)}{chapter.3}% 82 \BOOKMARK [1][-]{section.3.31}{Linux Printing}{chapter.3}% 83 \BOOKMARK [1][-]{section.3.32}{LPRng and CUPS}{chapter.3}% 84 \BOOKMARK [1][-]{section.3.33}{Main Printing Tools}{chapter.3}% 85 \BOOKMARK [1][-]{section.3.34}{Using lpr}{chapter.3}% 86 \BOOKMARK [1][-]{section.3.35}{Using lpq}{chapter.3}% 87 \BOOKMARK [1][-]{section.3.36}{Using lprm}{chapter.3}% 88 \BOOKMARK [1][-]{section.3.37}{Printing Information}{chapter.3}% 89 \BOOKMARK [1][-]{section.3.38}{Basic Tools Exercises}{chapter.3}% 90 \BOOKMARK [1][-]{section.3.39}{Basic Tools Solutions}{chapter.3}% 91 \BOOKMARK [0][-]{chapter.4}{More Tools}{}% 92 \BOOKMARK [1][-]{section.4.1}{Introduction}{chapter.4}% 93 \BOOKMARK [1][-]{section.4.2}{Displaying System Processes \(top\)}{chapter.4}% 94 \BOOKMARK [1][-]{section.4.3}{Options and Interactive Commands for top}{chapter.4}% 95 \BOOKMARK [1][-]{section.4.4}{Reporting process status \(ps\)}{chapter.4}% 96 \BOOKMARK [1][-]{section.4.5}{Options for Reporting process status \(ps\)}{chapter.4}% 97 \BOOKMARK [1][-]{section.4.6}{Sorting output of ps}{chapter.4}% 98 \BOOKMARK [1][-]{section.4.7}{Flavours of ps Options}{chapter.4}% 99 \BOOKMARK [1][-]{section.4.8}{Examples using ps}{chapter.4}% 100 \BOOKMARK [1][-]{section.4.9}{Finding Files using specified criteria \(find\)}{chapter.4}% 101 \BOOKMARK [1][-]{section.4.10}{Criteria used in find expressions}{chapter.4}% 102 \BOOKMARK [1][-]{section.4.11}{Examples of using \(find\)}{chapter.4}% 103 \BOOKMARK [1][-]{section.4.12}{Reporting virtual memory statistics \(vmstat\)}{chapter.4}% 104 \BOOKMARK [1][-]{section.4.13}{Output from vmstat}{chapter.4}% 105 \BOOKMARK [1][-]{section.4.14}{free}{chapter.4}% 106 \BOOKMARK [1][-]{section.4.15}{ldd}{chapter.4}% 107 \BOOKMARK [1][-]{section.4.16}{uptime}{chapter.4}% 108 \BOOKMARK [1][-]{section.4.17}{xargs \204 Filters}{chapter.4}% 109 \BOOKMARK [1][-]{section.4.18}{xargs \204 an Adapter}{chapter.4}% 110 \BOOKMARK [1][-]{section.4.19}{xargs}{chapter.4}% 111 \BOOKMARK [1][-]{section.4.20}{Options to xargs}{chapter.4}% 112 \BOOKMARK [1][-]{section.4.21}{Positioning filenames with xargs}{chapter.4}% 113 \BOOKMARK [1][-]{section.4.22}{cpio}{chapter.4}% 114 \BOOKMARK [1][-]{section.4.23}{gzip}{chapter.4}% 115 \BOOKMARK [1][-]{section.4.24}{Unzipping}{chapter.4}% 116 \BOOKMARK [1][-]{section.4.25}{tar}{chapter.4}% 117 \BOOKMARK [1][-]{section.4.26}{tar Examples}{chapter.4}% 118 \BOOKMARK [1][-]{section.4.27}{Raw devices and tar}{chapter.4}% 119 \BOOKMARK [1][-]{section.4.28}{Exercises}{chapter.4}% 120 \BOOKMARK [1][-]{section.4.29}{Solutions}{chapter.4}% 121 \BOOKMARK [0][-]{chapter.5}{Basic Filesystem}{}% 122 \BOOKMARK [1][-]{section.5.1}{Filesystem Overview}{chapter.5}% 123 \BOOKMARK [1][-]{section.5.2}{Files}{chapter.5}% 124 \BOOKMARK [1][-]{section.5.3}{Directories}{chapter.5}% 125 \BOOKMARK [1][-]{section.5.4}{Directory Hierarchy}{chapter.5}% 126 \BOOKMARK [1][-]{section.5.5}{Pathnames}{chapter.5}% 127 \BOOKMARK [1][-]{section.5.6}{Current Directory, Home Directory}{chapter.5}% 128 \BOOKMARK [1][-]{section.5.7}{Dot \(.\) and DotDot\(..\)}{chapter.5}% 129 \BOOKMARK [1][-]{section.5.8}{Moving and Copying Files}{chapter.5}% 130 \BOOKMARK [1][-]{section.5.9}{Removing Files}{chapter.5}% 131 \BOOKMARK [1][-]{section.5.10}{Operations on Directories}{chapter.5}% 132 \BOOKMARK [1][-]{section.5.11}{Inodes}{chapter.5}% 133 \BOOKMARK [1][-]{section.5.12}{Inodes: ls -i and stat}{chapter.5}% 134 \BOOKMARK [1][-]{section.5.13}{Links}{chapter.5}% 135 \BOOKMARK [1][-]{section.5.14}{Hard links}{chapter.5}% 136 \BOOKMARK [1][-]{section.5.15}{Symbolic Links \(Soft Links\)}{chapter.5}% 137 \BOOKMARK [1][-]{section.5.16}{Symbolic \(or Soft\) Links \(continued\)}{chapter.5}% 138 \BOOKMARK [1][-]{section.5.17}{File Ownership, Users and Groups}{chapter.5}% 139 \BOOKMARK [1][-]{section.5.18}{Access Control, Users and Groups}{chapter.5}% 140 \BOOKMARK [1][-]{section.5.19}{Categories of Access Control}{chapter.5}% 141 \BOOKMARK [1][-]{section.5.20}{Access Control \204 Example}{chapter.5}% 142 \BOOKMARK [1][-]{section.5.21}{Examples of minimum file permission requirements}{chapter.5}% 143 \BOOKMARK [1][-]{section.5.22}{Changing Access Permission: chmod}{chapter.5}% 144 \BOOKMARK [1][-]{section.5.23}{chmod symbolically}{chapter.5}% 145 \BOOKMARK [1][-]{section.5.24}{chmod numerically}{chapter.5}% 146 \BOOKMARK [1][-]{section.5.25}{Special Permissions: SUID, SGID}{chapter.5}% 147 \BOOKMARK [1][-]{section.5.26}{chmod: Symbolic Permissions}{chapter.5}% 148 \BOOKMARK [1][-]{section.5.27}{chmod: SUID, SGID}{chapter.5}% 149 \BOOKMARK [1][-]{section.5.28}{Set Group ID Directory}{chapter.5}% 150 \BOOKMARK [1][-]{section.5.29}{Set Group ID Directory \204 Example}{chapter.5}% 151 \BOOKMARK [1][-]{section.5.30}{Restricted Deletion Flag \(``Sticky Bit''\) on Directories}{chapter.5}% 152 \BOOKMARK [1][-]{section.5.31}{umask}{chapter.5}% 153 \BOOKMARK [1][-]{section.5.32}{Special Files \204 /dev}{chapter.5}% 154 \BOOKMARK [1][-]{section.5.33}{Special Files \204 /proc}{chapter.5}% 155 \BOOKMARK [1][-]{section.5.34}{Filesystem Structure and /etc/fstab}{chapter.5}% 156 \BOOKMARK [1][-]{section.5.35}{/etc/fstab \204 Example}{chapter.5}% 157 \BOOKMARK [1][-]{section.5.36}{Mounting Additional Volumes}{chapter.5}% 158 \BOOKMARK [1][-]{section.5.37}{Mounting shared filesystems}{chapter.5}% 159 \BOOKMARK [1][-]{section.5.38}{Summary}{chapter.5}% 160 \BOOKMARK [1][-]{section.5.39}{Filesystem Exercises}{chapter.5}% 161 \BOOKMARK [1][-]{section.5.40}{Filesystem Solutions}{chapter.5}% 162 \BOOKMARK [0][-]{chapter.6}{Finding Documentation}{}% 163 \BOOKMARK [1][-]{section.6.1}{Documentation everywhere?}{chapter.6}% 164 \BOOKMARK [1][-]{section.6.2}{Where is the documentation on my computer?}{chapter.6}% 165 \BOOKMARK [1][-]{section.6.3}{Some main sources of information from the Internet}{chapter.6}% 166 \BOOKMARK [1][-]{section.6.4}{Mailing Lists}{chapter.6}% 167 \BOOKMARK [1][-]{section.6.5}{Asking Questions on a Mailing List}{chapter.6}% 168 \BOOKMARK [1][-]{section.6.6}{Online Magazines}{chapter.6}% 169 \BOOKMARK [1][-]{section.6.7}{Info}{chapter.6}% 170 \BOOKMARK [1][-]{section.6.8}{Using the info command}{chapter.6}% 171 \BOOKMARK [1][-]{section.6.9}{Using emacs to read info pages}{chapter.6}% 172 \BOOKMARK [1][-]{section.6.10}{Using rpm to identify all documentation for a software package}{chapter.6}% 173 \BOOKMARK [1][-]{section.6.11}{A quick guide to rpm}{chapter.6}% 174 \BOOKMARK [1][-]{section.6.12}{A quick guide to dpkg \(on Debian Linux\)}{chapter.6}% 175 \BOOKMARK [1][-]{section.6.13}{Browsing Documentation Via Your Web Server}{chapter.6}% 176 \BOOKMARK [1][-]{section.6.14}{The exercises}{chapter.6}% 177 \BOOKMARK [1][-]{section.6.15}{Documentation: Solutions}{chapter.6}% 178 \BOOKMARK [0][-]{chapter.7}{Administering User Accounts and Permissions with sudo}{}% 179 \BOOKMARK [1][-]{section.7.1}{System Administration without always being SuperUser}{chapter.7}% 180 \BOOKMARK [1][-]{section.7.2}{Setting your PATH}{chapter.7}% 181 \BOOKMARK [1][-]{section.7.3}{Linux is a Multiuser System}{chapter.7}% 182 \BOOKMARK [1][-]{section.7.4}{User account overview}{chapter.7}% 183 \BOOKMARK [1][-]{section.7.5}{password file}{chapter.7}% 184 \BOOKMARK [1][-]{section.7.6}{Example passwd file}{chapter.7}% 185 \BOOKMARK [1][-]{section.7.7}{group}{chapter.7}% 186 \BOOKMARK [1][-]{section.7.8}{shadow file}{chapter.7}% 187 \BOOKMARK [1][-]{section.7.9}{logging in}{chapter.7}% 188 \BOOKMARK [1][-]{section.7.10}{logging in\204Pluggable Authentication Modules \(PAM\)}{chapter.7}% 189 \BOOKMARK [1][-]{section.7.11}{Adding User Accounts with useradd}{chapter.7}% 190 \BOOKMARK [1][-]{section.7.12}{What happens when you create a user account?}{chapter.7}% 191 \BOOKMARK [1][-]{section.7.13}{Local accounts and LDAP accounts}{chapter.7}% 192 \BOOKMARK [1][-]{section.7.14}{Configuring useradd to create local accounts}{chapter.7}% 193 \BOOKMARK [1][-]{section.7.15}{Creating a group}{chapter.7}% 194 \BOOKMARK [1][-]{section.7.16}{Adding a user to a secondary group}{chapter.7}% 195 \BOOKMARK [1][-]{section.7.17}{What groups does this user belong to?}{chapter.7}% 196 \BOOKMARK [1][-]{section.7.18}{Effective group ID and newgrp}{chapter.7}% 197 \BOOKMARK [1][-]{section.7.19}{Directory for a Group Project}{chapter.7}% 198 \BOOKMARK [1][-]{section.7.20}{File permissions for directories}{chapter.7}% 199 \BOOKMARK [1][-]{section.7.21}{Examples of minimum file permission requirements}{chapter.7}% 200 \BOOKMARK [1][-]{section.7.22}{Set Group ID Directory}{chapter.7}% 201 \BOOKMARK [1][-]{section.7.23}{Set Group ID Directory \204 Example}{chapter.7}% 202 \BOOKMARK [1][-]{section.7.24}{User Management Exercises}{chapter.7}% 203 \BOOKMARK [1][-]{section.7.25}{User Management Solutions}{chapter.7}% 204 \BOOKMARK [0][-]{chapter.8}{Managing Users\205quotas}{}% 205 \BOOKMARK [1][-]{section.8.1}{Checking /etc/passwd and /etc/shadow with pwck}{chapter.8}% 206 \BOOKMARK [1][-]{section.8.2}{Checking /etc/group with grpck}{chapter.8}% 207 \BOOKMARK [1][-]{section.8.3}{Managing User Connections: login, /etc/securetty, /etc/usertty}{chapter.8}% 208 \BOOKMARK [1][-]{section.8.4}{Limiting User Resources with ulimit}{chapter.8}% 209 \BOOKMARK [1][-]{section.8.5}{Managing Disk Use with Quotas}{chapter.8}% 210 \BOOKMARK [1][-]{section.8.6}{Setting up Quotas on a Filesystem}{chapter.8}% 211 \BOOKMARK [1][-]{section.8.7}{Specifying Quotas for Users and Groups}{chapter.8}% 212 \BOOKMARK [1][-]{section.8.8}{Checking and Reporting on Quotas}{chapter.8}% 213 \BOOKMARK [1][-]{section.8.9}{Managing Users\205quotas: Exercises}{chapter.8}% 214 \BOOKMARK [0][-]{chapter.9}{Introduction to Editing With vi}{}% 215 \BOOKMARK [1][-]{section.9.1}{Text editors under Linux}{chapter.9}% 216 \BOOKMARK [1][-]{section.9.2}{vi and your terminal}{chapter.9}% 217 \BOOKMARK [1][-]{section.9.3}{vi screen layout}{chapter.9}% 218 \BOOKMARK [1][-]{section.9.4}{Opening files with vi}{chapter.9}% 219 \BOOKMARK [1][-]{section.9.5}{vi Modes}{chapter.9}% 220 \BOOKMARK [1][-]{section.9.6}{Saving, changing file and quitting}{chapter.9}% 221 \BOOKMARK [1][-]{section.9.7}{Moving around in command mode}{chapter.9}% 222 \BOOKMARK [1][-]{section.9.8}{Numeric Prefixes}{chapter.9}% 223 \BOOKMARK [1][-]{section.9.9}{Further Movement}{chapter.9}% 224 \BOOKMARK [1][-]{section.9.10}{Further Movement \204 Example}{chapter.9}% 225 \BOOKMARK [1][-]{section.9.11}{Movement by lines}{chapter.9}% 226 \BOOKMARK [1][-]{section.9.12}{Movement by lines \204 Examples}{chapter.9}% 227 \BOOKMARK [1][-]{section.9.13}{Inserting text}{chapter.9}% 228 \BOOKMARK [1][-]{section.9.14}{i command}{chapter.9}% 229 \BOOKMARK [1][-]{section.9.15}{Multiple Insertion}{chapter.9}% 230 \BOOKMARK [1][-]{section.9.16}{Deleting Text}{chapter.9}% 231 \BOOKMARK [1][-]{section.9.17}{Changing Text}{chapter.9}% 232 \BOOKMARK [1][-]{section.9.18}{Copy and Paste}{chapter.9}% 233 \BOOKMARK [1][-]{section.9.19}{Finding your place}{chapter.9}% 234 \BOOKMARK [1][-]{section.9.20}{Miscellaneous Commands}{chapter.9}% 235 \BOOKMARK [1][-]{section.9.21}{Search and replace}{chapter.9}% 236 \BOOKMARK [1][-]{section.9.22}{Regular Expressions}{chapter.9}% 237 \BOOKMARK [1][-]{section.9.23}{Regular Expression Conventions}{chapter.9}% 238 \BOOKMARK [1][-]{section.9.24}{Regular Expression Examples}{chapter.9}% 239 \BOOKMARK [1][-]{section.9.25}{Regular Expression Replacement}{chapter.9}% 240 \BOOKMARK [1][-]{section.9.26}{Help}{chapter.9}% 241 \BOOKMARK [1][-]{section.9.27}{vi Exercises}{chapter.9}% 242 \BOOKMARK [1][-]{section.9.28}{vi Solutions}{chapter.9}% 243 \BOOKMARK [0][-]{chapter.10}{Basic X-Windows}{}% 244 \BOOKMARK [1][-]{section.10.1}{What X-Windows Is}{chapter.10}% 245 \BOOKMARK [1][-]{section.10.2}{X Needs Window Managers}{chapter.10}% 246 \BOOKMARK [1][-]{section.10.3}{Window Managers Are Applications}{chapter.10}% 247 \BOOKMARK [1][-]{section.10.4}{Desktop Environments}{chapter.10}% 248 \BOOKMARK [1][-]{section.10.5}{Starting X}{chapter.10}% 249 \BOOKMARK [1][-]{section.10.6}{Stopping X}{chapter.10}% 250 \BOOKMARK [1][-]{section.10.7}{Running Shells \(Xterms\) Under X}{chapter.10}% 251 \BOOKMARK [1][-]{section.10.8}{Running Applications from an xterm}{chapter.10}% 252 \BOOKMARK [1][-]{section.10.9}{Running Applications from a window manager}{chapter.10}% 253 \BOOKMARK [1][-]{section.10.10}{Configuring X}{chapter.10}% 254 \BOOKMARK [1][-]{section.10.11}{Basic X Hardware Configuration}{chapter.10}% 255 \BOOKMARK [1][-]{section.10.12}{Basic X Software Configuration}{chapter.10}% 256 \BOOKMARK [1][-]{section.10.13}{Networked X \204 The Client-Server Relationship}{chapter.10}% 257 \BOOKMARK [1][-]{section.10.14}{Principles of Running Remote X Apps}{chapter.10}% 258 \BOOKMARK [1][-]{section.10.15}{How to Run Remote X Apps}{chapter.10}% 259 \BOOKMARK [1][-]{section.10.16}{Authentication}{chapter.10}% 260 \BOOKMARK [1][-]{section.10.17}{Better Authentication}{chapter.10}% 261 \BOOKMARK [1][-]{section.10.18}{Basic X Exercises}{chapter.10}% 262 \BOOKMARK [0][-]{chapter.11}{Fundamentals of TCP/IP}{}% 263 \BOOKMARK [1][-]{section.11.1}{Fundamentals of TCP/IP Networking}{chapter.11}% 264 \BOOKMARK [1][-]{section.11.2}{History}{chapter.11}% 265 \BOOKMARK [1][-]{section.11.3}{Recap of basic IP Concepts \204 Components}{chapter.11}% 266 \BOOKMARK [1][-]{section.11.4}{IP versions}{chapter.11}% 267 \BOOKMARK [1][-]{section.11.5}{Packets}{chapter.11}% 268 \BOOKMARK [1][-]{section.11.6}{Encapsulation}{chapter.11}% 269 \BOOKMARK [1][-]{section.11.7}{Internet Protocol Datagram}{chapter.11}% 270 \BOOKMARK [1][-]{section.11.8}{TCP Header}{chapter.11}% 271 \BOOKMARK [1][-]{section.11.9}{UDP Header}{chapter.11}% 272 \BOOKMARK [1][-]{section.11.10}{Addresses}{chapter.11}% 273 \BOOKMARK [1][-]{section.11.11}{Addresses \(continued\)}{chapter.11}% 274 \BOOKMARK [1][-]{section.11.12}{Netmasks and subnetting}{chapter.11}% 275 \BOOKMARK [1][-]{section.11.13}{CIDR: Classless Inter-Domain Routing}{chapter.11}% 276 \BOOKMARK [1][-]{section.11.14}{CIDR: Classless Inter-Domain Routing\204examples}{chapter.11}% 277 \BOOKMARK [1][-]{section.11.15}{Transferring Data}{chapter.11}% 278 \BOOKMARK [1][-]{section.11.16}{Hosts \046 Interfaces}{chapter.11}% 279 \BOOKMARK [1][-]{section.11.17}{Routing}{chapter.11}% 280 \BOOKMARK [1][-]{section.11.18}{Ports}{chapter.11}% 281 \BOOKMARK [1][-]{section.11.19}{Ports cont..}{chapter.11}% 282 \BOOKMARK [1][-]{section.11.20}{Exercises}{chapter.11}% 283 \BOOKMARK [1][-]{section.11.21}{Solutions}{chapter.11}% 284 \BOOKMARK [0][-]{chapter.12}{Practical TCP/IP}{}% 285 \BOOKMARK [1][-]{section.12.1}{Ping Protocols}{chapter.12}% 286 \BOOKMARK [1][-]{section.12.2}{Network Statistics \(netstat\) in Practice}{chapter.12}% 287 \BOOKMARK [1][-]{section.12.3}{netstat \(continued\)}{chapter.12}% 288 \BOOKMARK [1][-]{section.12.4}{netstat \204 Further Examples}{chapter.12}% 289 \BOOKMARK [1][-]{section.12.5}{Network Traffic \(tcpdump\) in Practice}{chapter.12}% 290 \BOOKMARK [1][-]{section.12.6}{tcpdump Options}{chapter.12}% 291 \BOOKMARK [1][-]{section.12.7}{tcpdump Examples}{chapter.12}% 292 \BOOKMARK [1][-]{section.12.8}{Firewalling}{chapter.12}% 293 \BOOKMARK [1][-]{section.12.9}{Basic Theory}{chapter.12}% 294 \BOOKMARK [1][-]{section.12.10}{Basic Theory \(continued\)}{chapter.12}% 295 \BOOKMARK [1][-]{section.12.11}{ipchains}{chapter.12}% 296 \BOOKMARK [1][-]{section.12.12}{ipchains Details}{chapter.12}% 297 \BOOKMARK [1][-]{section.12.13}{ipchains Options}{chapter.12}% 298 \BOOKMARK [1][-]{section.12.14}{Options For Rules}{chapter.12}% 299 \BOOKMARK [1][-]{section.12.15}{ipchains \204 Examples}{chapter.12}% 300 \BOOKMARK [1][-]{section.12.16}{Removing Rules}{chapter.12}% 301 \BOOKMARK [1][-]{section.12.17}{Implementing ipchains}{chapter.12}% 302 \BOOKMARK [1][-]{section.12.18}{Save and restore}{chapter.12}% 303 \BOOKMARK [1][-]{section.12.19}{ipchains setup script}{chapter.12}% 304 \BOOKMARK [1][-]{section.12.20}{Real World ipchains}{chapter.12}% 305 \BOOKMARK [1][-]{section.12.21}{Interface Configuration and Management}{chapter.12}% 306 \BOOKMARK [1][-]{section.12.22}{Point-and-Click Interface Administration}{chapter.12}% 307 \BOOKMARK [1][-]{section.12.23}{/etc/sysconfig/network-scripts}{chapter.12}% 308 \BOOKMARK [1][-]{section.12.24}{ifcfg-ethx}{chapter.12}% 309 \BOOKMARK [1][-]{section.12.25}{Altering An Interface}{chapter.12}% 310 \BOOKMARK [1][-]{section.12.26}{Adding an Interface}{chapter.12}% 311 \BOOKMARK [1][-]{section.12.27}{The `Proper' Way}{chapter.12}% 312 \BOOKMARK [1][-]{section.12.28}{Drivers}{chapter.12}% 313 \BOOKMARK [1][-]{section.12.29}{The Secure Shell in Practice \(ssh\)}{chapter.12}% 314 \BOOKMARK [1][-]{section.12.30}{Secure Copying in Practice \(scp\)}{chapter.12}% 315 \BOOKMARK [1][-]{section.12.31}{Summary}{chapter.12}% 316 \BOOKMARK [1][-]{section.12.32}{Exercises}{chapter.12}% 317 \BOOKMARK [1][-]{section.12.33}{Solutions}{chapter.12}% 318 \BOOKMARK [0][-]{chapter.13}{SSH \204 The Secure Shell}{}% 319 \BOOKMARK [1][-]{section.13.1}{What is the Secure Shell?}{chapter.13}% 320 \BOOKMARK [1][-]{section.13.2}{But what's wrong with telnet?}{chapter.13}% 321 \BOOKMARK [1][-]{section.13.3}{Cryptography}{chapter.13}% 322 \BOOKMARK [1][-]{section.13.4}{OpenSSH and its history}{chapter.13}% 323 \BOOKMARK [1][-]{section.13.5}{Okay, I like the blowfish\204what else does OpenSSH provide?}{chapter.13}% 324 \BOOKMARK [1][-]{section.13.6}{So okay, how do I use this Secure Shell?}{chapter.13}% 325 \BOOKMARK [1][-]{section.13.7}{Using scp to copy files over the network}{chapter.13}% 326 \BOOKMARK [1][-]{section.13.8}{Useful options with scp}{chapter.13}% 327 \BOOKMARK [1][-]{section.13.9}{SSH uses public and private keys}{chapter.13}% 328 \BOOKMARK [1][-]{section.13.10}{SSH Architecture}{chapter.13}% 329 \BOOKMARK [1][-]{section.13.11}{Overview of SSH}{chapter.13}% 330 \BOOKMARK [1][-]{section.13.12}{Steps of establishing a connection}{chapter.13}% 331 \BOOKMARK [1][-]{section.13.13}{Using ssh-keygen to create a personal pair of private and public keys}{chapter.13}% 332 \BOOKMARK [1][-]{section.13.14}{The host keys in /etc/ssh/ssh\137known\137hosts and /.ssh/known\137hosts}{chapter.13}% 333 \BOOKMARK [1][-]{section.13.15}{The file /.ssh/authorized\137keys}{chapter.13}% 334 \BOOKMARK [1][-]{section.13.16}{The User's Public and Private Keys}{chapter.13}% 335 \BOOKMARK [1][-]{section.13.17}{SSH1 and SSH2}{chapter.13}% 336 \BOOKMARK [1][-]{section.13.18}{The public and private key pairs: a summary}{chapter.13}% 337 \BOOKMARK [1][-]{section.13.19}{Files and Permissions I Recommend}{chapter.13}% 338 \BOOKMARK [1][-]{section.13.20}{Using ssh-agent to log in without typing passwords}{chapter.13}% 339 \BOOKMARK [1][-]{section.13.21}{Setting up ssh-agent: logging in without typing passwords}{chapter.13}% 340 \BOOKMARK [1][-]{section.13.22}{Using ssh-add: logging in without typing passwords}{chapter.13}% 341 \BOOKMARK [1][-]{section.13.23}{An easier way: using keychain}{chapter.13}% 342 \BOOKMARK [1][-]{section.13.24}{What keychain Does}{chapter.13}% 343 \BOOKMARK [1][-]{section.13.25}{Setting your hostname}{chapter.13}% 344 \BOOKMARK [1][-]{section.13.26}{Configuring your own account to use keychain }{chapter.13}% 345 \BOOKMARK [1][-]{section.13.27}{Running X applications remotely}{chapter.13}% 346 \BOOKMARK [1][-]{section.13.28}{Configuring SSH for X}{chapter.13}% 347 \BOOKMARK [1][-]{section.13.29}{Security options for the client in /etc/ssh/ssh\137config}{chapter.13}% 348 \BOOKMARK [1][-]{section.13.30}{rsync: using it with SSH to mirror data}{chapter.13}% 349 \BOOKMARK [1][-]{section.13.31}{Examples of using rsync}{chapter.13}% 350 \BOOKMARK [1][-]{section.13.32}{Using ssh from Windows, with Cygwin}{chapter.13}% 351 \BOOKMARK [1][-]{section.13.33}{What else can SSH do?}{chapter.13}% 352 \BOOKMARK [1][-]{section.13.34}{Summary}{chapter.13}% 353 \BOOKMARK [1][-]{section.13.35}{SSH References}{chapter.13}% 354 \BOOKMARK [1][-]{section.13.36}{Secure Shell Exercises}{chapter.13}% 355 \BOOKMARK [1][-]{section.13.37}{Secure Shell Solutions}{chapter.13}% 356 \BOOKMARK [0][-]{chapter.14}{Shared File Systems}{}% 357 \BOOKMARK [1][-]{section.14.1}{NFS \(Network File System\)}{chapter.14}% 358 \BOOKMARK [1][-]{section.14.2}{NFS Basics \203continued}{chapter.14}% 359 \BOOKMARK [1][-]{section.14.3}{Exporting File Systems}{chapter.14}% 360 \BOOKMARK [1][-]{section.14.4}{Viewing exports}{chapter.14}% 361 \BOOKMARK [1][-]{section.14.5}{Importing File Systems}{chapter.14}% 362 \BOOKMARK [1][-]{section.14.6}{Samba}{chapter.14}% 363 \BOOKMARK [1][-]{section.14.7}{Samba \204 Availability}{chapter.14}% 364 \BOOKMARK [1][-]{section.14.8}{Samba Documentation}{chapter.14}% 365 \BOOKMARK [1][-]{section.14.9}{Samba Installation}{chapter.14}% 366 \BOOKMARK [1][-]{section.14.10}{Samba Basics}{chapter.14}% 367 \BOOKMARK [1][-]{section.14.11}{Access to Files and Printers}{chapter.14}% 368 \BOOKMARK [1][-]{section.14.12}{Testing Samba}{chapter.14}% 369 \BOOKMARK [1][-]{section.14.13}{Smbclient}{chapter.14}% 370 \BOOKMARK [1][-]{section.14.14}{Samba configuration File}{chapter.14}% 371 \BOOKMARK [1][-]{section.14.15}{Samba Configuration Example}{chapter.14}% 372 \BOOKMARK [1][-]{section.14.16}{Directories for Samba as a PDC}{chapter.14}% 373 \BOOKMARK [1][-]{section.14.17}{Testing Samba}{chapter.14}% 374 \BOOKMARK [1][-]{section.14.18}{Exercises}{chapter.14}% 375 \BOOKMARK [1][-]{section.14.19}{Solutions}{chapter.14}% 376 \BOOKMARK [0][-]{chapter.15}{Apache Basics}{}% 377 \BOOKMARK [1][-]{section.15.1}{What is Apache?}{chapter.15}% 378 \BOOKMARK [1][-]{section.15.2}{Installation}{chapter.15}% 379 \BOOKMARK [1][-]{section.15.3}{How Apache Listens}{chapter.15}% 380 \BOOKMARK [1][-]{section.15.4}{Configuration File\(s\)}{chapter.15}% 381 \BOOKMARK [1][-]{section.15.5}{Key Configuration Directives}{chapter.15}% 382 \BOOKMARK [1][-]{section.15.6}{ServerRoot, DocumentRoot}{chapter.15}% 383 \BOOKMARK [1][-]{section.15.7}{Is Apache running?}{chapter.15}% 384 \BOOKMARK [1][-]{section.15.8}{ServerAdmin}{chapter.15}% 385 \BOOKMARK [1][-]{section.15.9}{BindAddress, and Port}{chapter.15}% 386 \BOOKMARK [1][-]{section.15.10}{Listen}{chapter.15}% 387 \BOOKMARK [1][-]{section.15.11}{User and Group}{chapter.15}% 388 \BOOKMARK [1][-]{section.15.12}{Apache Processes}{chapter.15}% 389 \BOOKMARK [1][-]{section.15.13}{Logging}{chapter.15}% 390 \BOOKMARK [1][-]{section.15.14}{Customizable Logging}{chapter.15}% 391 \BOOKMARK [1][-]{section.15.15}{CustomLog examples}{chapter.15}% 392 \BOOKMARK [1][-]{section.15.16}{Example Configuration}{chapter.15}% 393 \BOOKMARK [1][-]{section.15.17}{Basic Exercises}{chapter.15}% 394 \BOOKMARK [1][-]{section.15.18}{Solutions}{chapter.15}% 395 \BOOKMARK [0][-]{chapter.16}{Apache}{}% 396 \BOOKMARK [1][-]{section.16.1}{Two sites and more \203}{chapter.16}% 397 \BOOKMARK [1][-]{section.16.2}{Two sites and more \203 continued}{chapter.16}% 398 \BOOKMARK [1][-]{section.16.3}{Virtual Hosting Options}{chapter.16}% 399 \BOOKMARK [1][-]{section.16.4}{Name-based hosting}{chapter.16}% 400 \BOOKMARK [1][-]{section.16.5}{Name-based hosting \(continued\)}{chapter.16}% 401 \BOOKMARK [1][-]{section.16.6}{IP-based hosting}{chapter.16}% 402 \BOOKMARK [1][-]{section.16.7}{Block Directives}{chapter.16}% 403 \BOOKMARK [1][-]{section.16.8}{Block Directives \(continued\)}{chapter.16}% 404 \BOOKMARK [1][-]{section.16.9}{DirectoryMatch, et al.}{chapter.16}% 405 \BOOKMARK [1][-]{section.16.10}{Access Control using .htaccess files}{chapter.16}% 406 \BOOKMARK [1][-]{section.16.11}{Access Control \(continued\)}{chapter.16}% 407 \BOOKMARK [1][-]{section.16.12}{Authorisation Files}{chapter.16}% 408 \BOOKMARK [1][-]{section.16.13}{Authorisation Files \(continued\)}{chapter.16}% 409 \BOOKMARK [1][-]{section.16.14}{Access Control using httpd.conf}{chapter.16}% 410 \BOOKMARK [1][-]{section.16.15}{Pros and Cons of using Access Files for Authentication }{chapter.16}% 411 \BOOKMARK [1][-]{section.16.16}{How Can Users Change Their Password?}{chapter.16}% 412 \BOOKMARK [1][-]{section.16.17}{WebDAV: a protocol for web collaboration}{chapter.16}% 413 \BOOKMARK [1][-]{section.16.18}{WebDAV and Apache}{chapter.16}% 414 \BOOKMARK [1][-]{section.16.19}{WebDAV Configuration}{chapter.16}% 415 \BOOKMARK [1][-]{section.16.20}{Apache WebDAV configuration example}{chapter.16}% 416 \BOOKMARK [1][-]{section.16.21}{Configuring WebDAV: directories and files}{chapter.16}% 417 \BOOKMARK [1][-]{section.16.22}{What is WebDAV useful for?}{chapter.16}% 418 \BOOKMARK [1][-]{section.16.23}{What is the future of WebDAV?}{chapter.16}% 419 \BOOKMARK [1][-]{section.16.24}{Information about WebDAV}{chapter.16}% 420 \BOOKMARK [1][-]{section.16.25}{Other useful directives}{chapter.16}% 421 \BOOKMARK [1][-]{section.16.26}{Examples}{chapter.16}% 422 \BOOKMARK [1][-]{section.16.27}{Exercises}{chapter.16}% 423 \BOOKMARK [1][-]{section.16.28}{Solutions}{chapter.16}% 424 \BOOKMARK [0][-]{chapter.17}{Key Configuration Files }{}% 425 \BOOKMARK [1][-]{section.17.1}{/etc/passwd}{chapter.17}% 426 \BOOKMARK [1][-]{section.17.2}{/etc/passwd \(continued\)}{chapter.17}% 427 \BOOKMARK [1][-]{section.17.3}{Editing /etc/passwd}{chapter.17}% 428 \BOOKMARK [1][-]{section.17.4}{Other Changes To /etc/passwd}{chapter.17}% 429 \BOOKMARK [1][-]{section.17.5}{/etc/group}{chapter.17}% 430 \BOOKMARK [1][-]{section.17.6}{Editing /etc/group}{chapter.17}% 431 \BOOKMARK [1][-]{section.17.7}{Important Note}{chapter.17}% 432 \BOOKMARK [1][-]{section.17.8}{Shadow Passwords}{chapter.17}% 433 \BOOKMARK [1][-]{section.17.9}{/etc/shadow}{chapter.17}% 434 \BOOKMARK [1][-]{section.17.10}{Scheduling Jobs \(Cron\)}{chapter.17}% 435 \BOOKMARK [1][-]{section.17.11}{/etc/crontab}{chapter.17}% 436 \BOOKMARK [1][-]{section.17.12}{run-parts}{chapter.17}% 437 \BOOKMARK [1][-]{section.17.13}{logrotate}{chapter.17}% 438 \BOOKMARK [1][-]{section.17.14}{Module Configuration}{chapter.17}% 439 \BOOKMARK [1][-]{section.17.15}{Modules Configuration \204 `Options'}{chapter.17}% 440 \BOOKMARK [1][-]{section.17.16}{Mounting Filesystems}{chapter.17}% 441 \BOOKMARK [1][-]{section.17.17}{Runlevels}{chapter.17}% 442 \BOOKMARK [1][-]{section.17.18}{Single User Mode}{chapter.17}% 443 \BOOKMARK [1][-]{section.17.19}{Multi User Mode}{chapter.17}% 444 \BOOKMARK [1][-]{section.17.20}{Starting up and Shutting down}{chapter.17}% 445 \BOOKMARK [1][-]{section.17.21}{Changing runlevel}{chapter.17}% 446 \BOOKMARK [1][-]{section.17.22}{Initscripts}{chapter.17}% 447 \BOOKMARK [1][-]{section.17.23}{rcn.d}{chapter.17}% 448 \BOOKMARK [1][-]{section.17.24}{Initscripts \204 An example}{chapter.17}% 449 \BOOKMARK [1][-]{section.17.25}{Restarting Services}{chapter.17}% 450 \BOOKMARK [1][-]{section.17.26}{Exercises}{chapter.17}% 451 \BOOKMARK [1][-]{section.17.27}{Solutions}{chapter.17}% 452