Contents Using Linux Fourth Edition i ii Special Edition Using Linux Contents Using Linux Fourth Edition Jack Tackett, Jr Steve Burnett iii iv Special Edition Using Linux Special Edition Using Linux Copyright © 1999 by Que Corporation All rights reser ved No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher No patent liability is assumed with respect to the use of the information contained herein Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions Neither is any liability assumed for damages resulting from the use of the information contained herein International Standard Book Number: 0-7897-1746-8 Library of Congress Catalog Card Number: 98-85654 Printed in the United States of America First Printing: September, 1998 01 00 99 Trademarks All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized Que Corporation cannot attest to the accuracy of this information Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark Warning and Disclaimer Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied The information provided is on an “as is” basis The authors and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book or from the use of the CDs or programs accompanying it EXECUTIVE EDITOR Jeff Koch ACQUISITIONS EDITOR Jane Brownlow DEVELOPMENT EDITORS Mark Cierzniak Kate Shoup Welsh MANAGING EDITOR Sarah Kearns PROJECT EDITOR Christopher Morris COPY EDITOR Audra McFarland INDEXER Craig Small TECHNICAL EDITOR Eric C Richardson SOFTWARE DEVELOPMENT SPECIALIST Jack Belbot PRODUCTION Steve Balle-Gifford Maribeth Echard Megan Wade Contents Contents at a Glance Introduction I Installing Linux II 163 Managing File Systems 265 Using Samba 291 Understanding the File and Director y System 303 Managing Files and Directories 317 Working with Linux 18 19 20 21 22 V Understanding System Administration Using the vi Editor 177 Booting and Shutting Down 205 Managing User Accounts 219 Backing Up Data 225 Improving System Security 235 Configuring the Linux Kernel 253 Managing the File System 14 15 16 17 IV 145 System Administration 10 11 12 13 III Understanding Linux 13 Linux Installation Overview 29 Installing Red Hat 57 Installing Caldera OpenLinux Lite 87 Running Linux Applications 105 Upgrading and Installing Software with RPM Understanding Linux Shells 337 Managing Multiple Processes 381 Printing 405 Installing the X Windows System 421 Using X Windows 439 Network Administration 23 Understanding the TCP/IP Protocol Suite 463 24 Configuring a TCP/IP Network 483 v vi Special Edition Using Linux 25 26 27 28 VI Using the Internet 29 30 31 32 33 34 VII Configuring Domain Name Service 501 Configuring Electronic Mail 517 Configuring a Usenet News Ser vice 517 Using the emacs Editor 539 Using SLIP and PPP 561 Accessing the Network with telnet, ftp, and the r- Commands Surfing the Internet with the World Wide Web 595 Creating Web Documents with HTML 609 Using Electronic Mail 629 Surviving Usenet News 655 Setting Up a Linux Web Server 35 Getting Started with Apache 671 36 Configuring Apache 683 37 Managing an Internet Web Server 709 VIII Appendixes A B C D E F Sources of Information 721 The Linux HOWTO Index 729 The Linux Hardware Compatibility HOWTO 745 The GNU General Public License 799 Installing StarOffice 807 What’s on the CD-ROM 823 Index 827 577 Contents vii Table of Contents Introduction The Commercial Side of Linux 22 Commercial Programs from Red Hat 22 Commercial Programs from Caldera 22 Who Should Use This Book? Who Should Not Use This Book? Hardware Needed to Use This Book How to Use This Book Part I: Installing Linux Part II: System Administration Part III: Managing the File System Part IV: Working with Linux Part V: Network Administration Part VI: Using the Internet Part VII: Setting Up a Linux Web Ser ver Appendixes Conventions Used in This Book I Installing Linux Understanding Linux 13 What Is Linux? 14 Why Use Linux? 15 Linux Distributions 16 Advantages of Using Linux 17 Open Systems Portability 17 Applications 18 Advantages for Computer Professionals 18 Education 18 Hackers 19 Disadvantages of Using Linux 19 Lack of Technical Support 20 Hardware Problems 20 Inability to Use Current Software 20 Lack of Experience 21 Overcoming the Disadvantages 21 Disappearing Disadvantages 22 A Brief History of Linux 23 AT&T 23 BSD 24 USL 24 XENIX, SunOS, and AIX 24 Linux 25 Who Owns Linux? 26 From Here… 27 Linux Installation Overview 29 Understanding Linux’s Hardware Requirements 30 The System’s CPU 31 The System’s Bus 31 Memory Needs 31 Disk Drives and Space Requirements 32 Monitor Requirements 33 CD-ROMs 34 Network Access 35 Miscellaneous Hardware 36 Starting the Installation Process 37 Understanding the Various Installation Methods 38 Compiling Needed information 39 Creating the Boot and Supplemental Disks 41 Partitioning Your Hard Drive 42 Understanding Partitions 42 Using FDISK 43 Repartitioning Your DOS Drive 44 Using the Linux fdisk Program 47 Adding the Necessary Partition 50 Troubleshooting Problems 52 From Here… 56 viii Special Edition Using Linux Installing Red Hat 57 Starting the Installation Process 58 Understanding the Various Installation Methods 59 Compiling Needed Information 60 Creating the Boot, Supplemental, and Rescue Disks 61 Installing Linux 91 Using a Previous Configuration 91 Configuring LISA 92 Probing for Hardware 92 Preparing the Hard Disks 94 Using the Linux fdisk Program 95 Adding the Necessary Partition 97 Creating the Swap Partition 99 Installing the Linux System 62 Using the Linux fdisk Program 67 Adding the Necessary Partition 70 Creating the Swap Partition 72 Using Disk Druid 73 Installing the Software Components 75 Installing the Linux Software System 99 Configuring Your System Resolving Problems 77 Configuring Your Network 79 Configuring the TCP/IP Network 79 Configuring the Clock 79 Selecting the Services to Start on Reboot 80 Selecting Your Root Password 82 Installing LILO 82 Installing Red Hat Linux on DEC Alphas 83 Using Supported Alpha Hardware 83 Creating the Boot and Root Disks 84 Installing the Main Red Hat Distribution 85 Going Back to the Beginning 85 Troubleshooting Problems 86 From Here… 86 Installing Caldera OpenLinux Lite 87 What You Need to Install Linux 88 Installation 89 Making the Preparations 89 Preparing the Installation Floppies 90 Creating the Install and Modules Disks 90 Configuring Your System 100 Installing LILO 101 Uninstalling LILO 101 Going Back to the Beginning 102 From Here… 102 103 Running Linux Applications 105 Maneuvering Through Linux 106 Entering Commands 106 Recalling Command History 106 Making Selections 107 Completing Commands 107 Managing Users 107 Logging In and Out 108 Adding Users Under Slackware 108 Adding Users with Red Hat 111 Using Red Hat’s Control Panel to Manage Users 111 Changing Passwords 113 Using Basic Commands 114 Getting Help for Commands with man 114 Using Directory-Manipulation Commands 114 Using File-Manipulation Commands 116 Dealing with DOS Files Under Linux 118 Shutting Down Linux 119 Running Linux Programs 120 Using the workbone CD Player Using the sc Spreadsheet Calculator 121 120 Contents Using the bc Calculator 122 Using the minicom Telecommunications Package 122 Playing Games 124 Tetris 124 Dungeon 125 Trek 125 Running Windows Programs Under Linux 143 144 Upgrading and Installing Software with RPM 145 Understanding Key Terms Used in This Chapter 146 Understanding the Politics of Upgrading 147 Installing Software 147 Understanding the System Administrator’s Job 148 Using the Red Hat Package Manager 149 Locating Packages 150 Installing Packages with RPM 150 Uninstalling Packages with RPM 151 Updating Packages with RPM 152 Querying Packages with RPM 152 Verifying Packages with RPM 153 Installing Non-Linux Software 154 Reviewing File Permissions 157 Solving Problems 157 Removing Applications 158 Upgrading Your Kernel From Here… 159 II System Administration Understanding System Administration 163 Understanding the Importance of Proper Administration 164 Running DOS Programs Under Linux 127 Installing DOSEMU 127 Configuring DOSEMU 127 Running DOSEMU 134 From Here… ix 158 Understanding Multiuser Concepts 165 Understanding Centralized-Processing Systems 166 Elements of the Centralized-Processing Model 167 Understanding Distributed-Processing Systems 168 Elements of the Distributed-Processing Model 169 Topologies 170 Understanding the Client/Server Model 171 Performing Administration in a Networked Environment 172 Defining the Role of the Network Administrator 172 Understanding Hardware and Software Issues 172 Performing Common Networking Administrative Tasks 173 Training the Administrator 175 From Here… 176 Using the vi Editor 177 Introducing vi 178 What Is vi? 179 Understanding the Editing Process 180 Using vi 181 Looking at vi’s Two Modes 182 Creating Your First vi File 182 Starting vi by Using an Existing File 183 Exiting vi 184 Undoing a Command 186 Writing Files and Saving the Buffer 187 x Special Edition Using Linux Positioning the Cursor 189 Adding Text 191 Deleting Text 193 Searching 194 Changing and Replacing Text 195 Copying, Cutting, and Pasting 197 Repeating Commands 199 vi Command Summary 199 Setting the vi Environment 201 Using set to See and Set Options 203 Setting the showmode Option 203 Setting Toggle Options 203 Changing Options for Every vi Session 204 From Here… 204 205 Understanding the Boot Process 206 Booting Linux from a Floppy 212 Booting from a Boot Manager 213 Understanding LILO, the Linux Loader 214 Configuring LILO 214 Using LILO 215 From Here… 215 Planning a Backup Schedule 227 Performing Backups and Restoring Files 229 Using tar 229 Using cpio 232 From Here… 233 12 Improving System Security 235 Handling Physical Security 236 Working with Groups 223 Adding a Group 223 Deleting a Group 223 Managing Home Directories 223 Web-Based Administration 237 Developing Login Security 238 Accounts Without Passwords 239 Unused Accounts 239 Default Accounts 239 Guest Accounts 239 Command Accounts 240 Group Accounts 240 Handling File Security 240 Permissions 241 SUID and SGID Programs 241 Recording Use of the su Command 243 Working with Users 220 Adding a User 220 Using the adduser Command 221 Setting User Passwords 221 Removing a User 222 224 Considering Backup Tips 227 Avoiding Social Engineering Threats 242 217 10 Managing User Accounts 219 From Here… Considering Backup Issues 226 Dealing with Password Security Booting and Shutting Down Shutting Down Linux 11 Backing Up Data 225 224 Developing a Secure System 243 Security Threats 243 Controlling the Root 244 Controlling Modems and Crackers 244 Preventing Idle Terminals 244 Enforcing Security 245 Handling Security Breaches 245 Performing Backups 246 PAM: The Pluggable Authentication Modules Architecture 246 Understanding PAM Configuration Files 247 Required, Requisite, and Optional: Module Order and Necessity 247 856 processing models in operating systems processing models in operating systems, 166 processors, Linux install needs, 31 PROFS e-mail, 518 program directories, PATH variable, 345 programs A News, 658 B News, 658 bc calculator, 122 C News, 658 chat, see chat program cron, background process scheduling, 388 dip, see dip DOS DOSEMU compatibility, 135-141 running under Linux, 127 DOSEMU, 127 FDISK adding partitions, 50, 97 commands, 47, 95 locating cylinders, 97 partitions, 43, 98 Red Hat Linux install, 67 grpck, group account verification, 250 INN news, 658 LILO (LInux LOader), Linux install, 89, 101 LISA configuring, 92, 100 hardware autodetect, 92 swap partitions, 99 lpr, printing e-mail, 638 mail, 632 aliases, 645 canceling messages, 633 carbon copies of messages, 644 customizing, 646 deleting messages, 640 forwarding messages, 643 headers, 637 help, 638 mailing lists, 645 printing messages, 638 reading messages, 635-637 reply messages, 641-642 saving messages, 638-640 sending program/ command results, 635 writing messages, 633 minicom, 122 networks, 172 pkgtool, installing XFree86, 429 pwck, verifying passwords, 250 rawrite boot/rescue disks, 61 Linux install disk creation, 90 running, 120 /sbin/route, 490 sc spreadsheet calculator, 121 selection, copying text to command line, 107 Seyon telecom, 455-456 shell, writing, 367 smbclient, 292 commands, 300-301 SMB share access, 300 SuperProbe, video hardware data, 431 testparm, testing smb.conf file, 299 text-based interactive, kernel install, 255-256 workbone CD player, 120 X Windows configuration, kernel install, 257 xcalc, 451 XF86Config, configuring XFree86, 431 xgrab, 457 default options, 457 resource file, 457 ToCommand example, 457 xlock, 458 xspread, 454 xterm, 448 xv screen-capture, 446 see also applications; software prompt, 106 entering commands, 106 logins, 338 protecting resources, Apache, 703 protocols CHAP, 574 ESMTP, 522 file-transfer, 124 FTAM, 465 FTP, 524, 601 HTTP, 596 IP, 464-465, 469, 562 kermit, 124 NCP, 524 NNTP, 658 OSPF, 476 PAP, 574 POP, 630 PPP, 173, 562, 569 RIP, 465, 476 routing, 476 SLIP, 562 SMTP, 465, 522 SNMP, 466 TCP, 466, 524 TCP/IP, 172, 468 UDP, 466 UUCP, 658 XNS, 476 zmodem, 124 ps command (process status), 394-395 emacs, displaying active processes, 545 flags, 395 headings, 394 process IDs, 349 user identity/type of work on system, 243 PS1 variable, 348 PTR records, DNS, 510, 513 publicly-writable spaces, Apache security, 716 Red Hat Linux put command, FTP, 585 pwck program, verifying passwords, 250 pwd command, 305 Q -q switch, sendmail, 525 q! command, abandoning file changes in vi, 186 rawrite program Linux install disk creation, 90 Red Hat Linux boot and rescue disks, 61 rc.local files, 210 rc.sysinit file, 210 rc3.d directories, boot process, 209 rcp command, 591-592 -q1h switch, sendmail, 525 reading articles in newsgroups, 664 e-mail, 635-637 queries, listing packages, 150-153 ReadmeName directive, Apache, 690 question mark (?) wildcard, 354 reboot command, 216 queues, 382 quitting archie, 604 DOSEMU program, 134 emacs, 543-544 FTP, 584 Linux, 102, 119 mail program, 647-648 processes, kill command, 400-401 SMB services, 300 telnet, 579 vi, 184-185 quotation marks command substitution, 357 ignoring special characters, 371 quotes and quotebacks, Usenet, 657 R r- commands, remote access, 589 RAM, XFree86 needs, 427 raw mode, device drivers, 342 rebooting after shutdown, 119 Linux, 102 recalling prior commands, history function, 106 recipients, e-mail, 633 recording su command usage for system security, 243 records, DNS CNAME, 512 fields, 509 HINFO, 512 MX, 512 name-server, 512 NS, 513 PTR, 513 SOA, 511 Red Hat 5.1 package, Linuxconf utility, 224 Red Hat Linux Add Users dialog box, 112 adding users, 111 boot disks, 82 rawrite program, 61 commercial programs, 22 configuring boot-time services, 80-81 monitors, 78 mouse, 77 857 networks, 79 root passwords, 82 system clock, 79 TCP/IP, 79 time zone, 79 X Windows, 78 XFree86 server, 78 Control Panel account management, 111 DOOM for Linux, 458 installing, 58-59, 62-63 adding DOS partitions, 46 boot/supplemental disks, 41 CD-ROM, 65 CD-ROM option, 38 DEC Alpha systems, 83-85 deleting DOS partitions, 45 DOS partitions, 43 fdisk program, 67 file system setup, 41 formatting DOS partitions, 47 FTP option, 38 install options, 59 install prep, 37-39, 60 keyboard option, 63 language option, 63 LILO program, 82 OS/2 partitions, 44 packages, 75-77 partitions, 42-43, 67, 70 PCMCIA cards, 64 repartitioning DOS drives, 44 SCSI devices/drivers, 66 Sun Sparc systems, 83 troubleshooting, 52-56, 86 Metro-X server, 444 mount points, 73 Disk Druid options, 73-74 non-supported hardware, 67 nxterm sessions, 446 partition table example, 68 partitions adding, 50-51 allocating space, 71 Disk Druid options, 73-74 types, 49 858 Red Hat Linux primary partitions, 71 printer setup, 416-419 rescue disks, 61 root partitions, 73 root passwords, 82 RPM (Red Hat Package Manager), 149 Start menu options, 445 supplemental disks, rawrite program, 61 swap partitions, 71-72 technical support, 22 update/bug fix packages, 39 upgrades, 66 X applications, 444 xv screen-capture program, 446 Redirect directive, Apache, 688 redirecting input to commands/programs, < (less than) symbol, 355 redirecting output to files, greater than (>) symbol, 355 references, Web page links, 624 RefererIgnore directive, Apache, 696 RefererLog directive, Apache, 696 regular expressions special characters, 358-359 strings, 358 relative path names, 305 remote access via r- commands, 589 connections, network planning, 481 directory listings, FTP, 584 file transfers via FTP, 580 terminal sessions via telnet, 578 removable drives supported, 778 removing directories or files, 323-325 user accounts, 222-223 see also deleting renice command, running process priorities, 399-400 repartitioning DOS drives alternatives, 21 Red Hat Linux install, 44 rescue utilities, 213 resolv.conf file, 505 resolvers, DNS, 503 resolving IP addresses to host names, DNS, 502 resource files, X Windows, 438 replace commands, vi, 195-196 resource records, DNS, 508-510 CNAME, 512 fields, 509 HINFO, 512 MX, 512 name-server, 512 NS, 513 PTR, 513 SOA, 511 replace options, emacs, 551-553 ResourceConfig file, Apache, 684 replacing current emacs buffer with new file, 547 resources, user usage, 392 repeaters, distributed processing, 169 repeating commands prior commands, 107 vi, 199 via while loop, 377-378 replies, e-mail, 641-642 report fields, routing table, 490 require directive, Apache, 704 requirements for Linux install CD-ROMs, 34 CPUs, 31 disk space, 32 floppy drives, 32 hard drives, 32 hardware, 30 memory, 31 mice, 36 modems, 35 monitors, 33 network access, 35 printers, 37 swap partitions, 33 system bus, 31 tape drives, 36 rescue disks, Red Hat Linux, 61 restarting kerneld daemon, after module install, 262 restoring files, 232-233 system from backups, 227-230 retaining vi settings for all sessions, 204 retrieving remote files, FTP, 584 system configuration data, 437 reverse DNS resolution, 503, 508 RFCs (Request For Comments), 465 e-mail standards, 520 network-related, 471 pertinent to sendmail, 520-521 ring network topology, 170 RIP (Routing Information Protocol), 465, 476 rlogin command, commandline options, 589-590 script interpreter, Seyon telecom program rm command, deleting files, 117, 323-325 rmdir command, deleting directories, 116 rmmod command, deleting kernel modules, 261 RMON (Remote Monitor), 465 rn newsreader, 667 ROFL (Rolling on the Floor, Laughing), 657 root accounts logins/logouts, 108 passwords, 237 security, 244 root command, 108 root directories, 266, 304, 676, 679 root file system, checking via fsck command, 280 root logins, 164 root name servers, viewing via nslookup, 514 root partition Linux packages install, 99 Red Hat Linux, 73 root passwords Linux, 101 Red Hat Linux, 82 root user, 146 rotating Apache logfiles automatically, 713 route program adding routes to routing table, 491 arguments, 491 static IP routing, 489 routers distributed processing, 169 network planning, 481 routes adding to routing table, 491 eth0 network interface, 493 Ethernet interface, 493 gateways, 493 loopback interface, 492 routing deleting routes, 493 networks, 475-478 policies, 489 TCP/IP, 489 routing tables adding gateway routes, 492 kernel, 490 report fields, 490 viewing, 490, 497 rpc.mountd daemon, 275 rpc.nfsd daemon, 275 RPCs (Remote Procedure Calls), 465 RPM (Red Hat Package Manager), 149-150 installing packages, 150-151, 255 locating packages, 150-153 syntax, 149-150 uninstalling packages, 151-152 upgrading packages, 152 verifying packages, 153-154 Web site URL, 149 rsh command, 590 RTFM (Read the Forgotten Manual), 657 rulesets, sendmail, 528-529 run levels, 208-212 running commands periodically, crontab command, 363 fdisk command, 283 DOS programs under Linux, 127 programs, 120 Windows programs under Linux, 143 S 859 Samba configuring, 293-296 installing, 292 server, 300 sharing directories, 298 smbclient program commands, 300-301 SMB share access, 300 testparm program, testing smb.conf file, 299 Sausage Software Web site, HTML editors, 611 saving emacs files, 547 e-mail, 639-640, 648 prior kernel versions, 258 vi buffer, 187 files, 183, 187-188 text edits, 180 /sbin directory, 267 /sbin/route, command-line arguments, 490 sc spreadsheet calculator, 121 scanners supported, 782-783 scheduling background processes, 362, 388-390 backups, 226-228 commands, 385 tasks, 388-390 scoreboard files, Apache, 711 screen backward option, vi, 191 screen, clearing, 117 screen components, emacs, 542 Screen section, XF86Config file, 436 S3 cards supported, 787 script aliases, Apache, 677 safrm shell script, safe file removal, 349 script interpreter, Seyon telecom program, 456 860 ScriptAlias directive, Apache ScriptAlias directive, Apache, 688 sections, XF86Config file, 431 scripts adduser, SLIP service accounts, 568 adduser command, 221 chat, 570 configure, Apache, 673 dynamic IP addresses, 567 init, Apache startup, 677-678 init command, 209-210 shell scripts, 208, 340 static IP addresses, 566 see also shell scripts secure Web transactions, Apache-SSL, 681 scrolling keystrokes, emacs, 549 SCSI adapters supported, 792 SCSI controllers, Linux install needs, 32 supported, 768-769 SCSI devices/drivers, Red Hat Linux install, 66 se number command, displaying text line numbers in vi, 194 search and replace commands emacs, 551-553 vi, 194, 198 search engines, 598-599 searches anonymous FTP, archie, 602 Boolean expressions, 600 files, 327-331 tar utility backups, 230 gopher, 605 Internet, WAIS, 608 keywords, 599 mailing lists, 607 telnet, 604 Usenet, 606 veronica, 606 Web browsers, 601 WWW, 598 secret keys, CHAP, 574 security, 236, 245 Apache CGI scripts, 714 publicly-writable spaces, 716 server-side includes, 715 symbolic links, 715 Web servers, 714 authentication, 246 command accounts, 240 default accounts, 239 file systems, 240-241 group accounts, 240 handling breaches, 245 logins, 238 modems, 244 passwords, 151, 237, 248 permissions, 245 physical, 236-237 planning system security, 243 PPP service, 574 recording su command usage, 243 root accounts, 244 social engineering issues, 242 terminal lockouts, 244 user accounts, 239 segments networks, 476 Transport layer, 468 selection program, copying text to command line, 107 semicolons (;), delimiting commands, 360 sending e-mail, 631-632, 638 files binary, 632 to remote systems via FTP, 585 sendmail, 519, 524 aliases, 529 architecture, 525 -bd flag, 525 configuring, 525-527 handshaking, 522 historical overview, 524 named option commands, 528 pertinent RFCs, 520-521 preprocesso macro, 526 -q switch, 525 -q1h switch, 525 rulesets, 528-529 running as daemon, 525 SMTP protocol, 522 starting, 525 sendmail.cf file, 526 server host name, Apache configure, 676 server root, Apache, 673, 676 server startup error messages, Apache, 680 server status message recipients, Apache, 676 server-push animations, Apache, 713 server-side includes, Apache, 693, 712, 715 ServerFlags section, XF86Config file, 432 servers, 597 Apache, configuring, 684 archie, 602 centralized processing, 167 distributed processing, file servers, 169 DNS name server, 506 testing via nslookup utility, 515 gopher, 606 Metro-X, Red Hat Linux, 444 NNTP, Usenet connections, 534 SMB protocol (Session Message Block) Samba, 300 UNIX connections, 166 Web servers, 672 X Windows, 424 services, 597 PPP configuring, 573 security, 574 SLIP, diplogin options, 568 starting at boot, Red Hat Linux, 80-81 shared-file messaging, 518 sharing directories, Samba, 298 shell environment, configuring, 344 shell programs, writing, 367 Seyon telecom program dialing directory, 455 file transfers, 456 script interpreter, 456 Slackware Linux package, 455 terminal emulation, 455 translation modes, 456 shell scripts, 340, 365 adduser command, 221 boot process, 208-210 comments, 368 displaying steps, echo command, 367 executing from any directory, 347 exit status, 373 menu options, 371 running commands, 362 safrm, safe file removal, 349 special characters, ignoring, 371 step display, sh -x command, 366 test command options, 374 tracing steps, echo command, 367 variables command line parameters, 369 command result assignments, 370 direct assignment, 368 read command assignments, 369 SGIDs (Set Group IDs), file permissions, 242 shell variables, substituting, 356-357 SGML (Standard Generalized Markup Language), 610 shells, 338-339 background processing, 361 bash, 340 Bourne, 340 C, 340 command aliases, 380 command line parsing, 350 customizing, 378-379 determining usage, echo command, 340 environment variables, 347-348 exporting variables, 378-379 Session layer, OSI model, 467 Session PAM module, 247 sessions FTP, 580, 585-586 telnet, 579 set command environment variables, 344 vi, viewing settings, 203 set search command, archie, 604 settings, kernel configuration, 255 sh -x command, shell script step display, 366 shadow passwords, 248 Shadow Suite password shadowing, 248 user account password shadowing, 249 useradd command, 249 userdel command, 250 usermod utility, 250 861 Korn, 340 pdksh, 339 user accounts, 110 shouting, Usenet, 662 show search command, archie, 604 showmode option, vi, 203 shutting down, 215 command, 119 halt/reboot commands, 216 Linux, 119 sigfiles (signature files) newsgroup postings, 535 Usenet, 658, 665 Web pages, 620 SIGHUP signal, Apache logfile rotation, 713 signal-to-noise, Usenet, 657 simply dos command, DOS editor, 127 single dot (.), path names, 305, 308 single quotes, ignoring special characters, 371 sizeof function, 329 Slackware Linux package Seyon telecom program, 455 X applications, 448 xcalc program, 451 xgrab program, 457 xlock program, 458 xspread program, 454 xterm program, 448 slash character (/), root directory, 304 SLIP interface (Serial Line), 489 SLIP protocol (Serial Line Internet Protocol), 173, 562 SLIP service, 568 smart terminals, centralized processing, 167 SMB protocol (Session Message Block), see Samba 862 SMB servers, directory sharing SMB servers, directory sharing, 298 sound cards supported, 773-774 SMB services, starting/ stopping, 300 source code files, 255 SMB share access, smbclient program, 300 smb.conf file, 293-296 [global] section, 297 [homes] section, 297 [printers] section, 298 testing, 299 smbclient program, 292 commands, 300-301 SMB share access, 300 smbd daemon, 292 smbstatus utility, 292 smileys, 658, 662 space allocations, partitions, 98 spam, 664 spawning child processes, 385 newsgroups, 533 special characters regular expressions, 358-359 shell scripts, ignoring, 371 specific time task scheduling, at command, 386-387 spikes, Web server requests, 711 SMTP (Simple Mail Transfer Protocol), 465, 522 spoofing, DNS, 503 SNMP (Simple Network Management Protocol), 466 square bracket [] expression, 354 SOA records, DNS, 510-511 social engineering, security issues, 242 soft mounts, NFS file system, 278 software installing, 146-149 file permissions, 157 non-Linux programs, 154-157 RPM, 150-151 sys admin duties, 148-149 troubleshooting, 157 listing packages, 150-153 networks, 172 support, 20-21 uninstalling, 158 RPM, 151-152 upgrading, 146-147, 152 WordPerfect for Linux, 23 see also packages; programs software loopback interface, configuring, 488 spreadsheet emulation, 454 mail program, 632 sendmail, 525 SMB services, 300 telnet, 578, 605 vi, 181 xf86Config program, 437 StartServers setting, Apache Web server, 711 statements case, 372 see also structures static IP addresses, dip program, 566 static IP routing, route command, 489 status line, vi, 180 status of processes, ps command, 394-395 stderr file, processes, 350 stdin file, processes, 350 stdout file, processes, 350 SRAM cards supported, 792 sticky bits, 311 SRC= filename attribute, IMG tags, 626 stopping emacs, 543-544 Linux, 119 processes, kill command, 400-401 SMB services, 300 srm.conf file, 676, 684 ssh command, 592-593 ssh utility, 210 Stallman, Richard, 800 StarOffice installing, 807-822 star network topology, 170 storage issues, backups, 227-228 strings, regular expressions, 358 Start menu options, Red Hat Linux, 445 STRONG tags, Web pages, 618 starting Apache debugging problems, 679 init script, 677-678 DOOM for Linux, 459 DOSEMU program, 134 elm mailer, 649 emacs, 540 fdisk, 281 fdisk command, 283 FTP, 583 structure of WWW, 596 structures case structures, 372 control, 367 decision structures, 371 if then else structures, 374 iterative structures, 371, 376 stty command, control key parameters, 343 TCP (Transmission Control Protocol) stty sane command, most reasonable control key setting, 344 switches cpio command, 232 tar utility, 229 Tab key, completing commands automatically, 107 su command recording resource usage for system security, 243 switching users, 110 switching user accounts, su command, 110 virtual terminals Alt + function keys, 338 emacs, 545 tables, inode tables, 307-308 subdirectories backups, 231-232 /usr directory, 269 subnets IP addresses, 485 subnet masks, 474 subscriptions, newsgroups, 663 subshells, 360 substituting command results, 357 shell variables, 356-357 SUIDs (Set User IDs), file permissions, 241 Sun Sparc systems, Red Hat Linux installs, 83 SuperProbe video hardware data, 431 superusers, 108, 146, 164 symbolic links, Apache security, 715 syntax, sendmail rulesets, 528 sys admin (systems administrator), 21, 146-149, 175-176 backups, 246 hardware/software issues, 172 role and duties, 164-165 security, 245 system bus, Linux install issues, 31 system clock, configuring Linux, 100 Red Hat Linux, 79 supplemental disks, Red Hat Linux, 41, 61 System Commander, multiple operating system option, 39, 60 surge suppressors, 236 system mailbox, e-mail, 630 suspending emacs sessions, 545 system prompt, 106 swais clients, 608 swap files, 288-289, 427 system requirements disk space, 21 OpenLinux Lite install, 88 swap partitions, 99, 285, 288 activating, swapon command, 72 Linux install issues, 33 Red Hat Linux, 71-72 space requirements, 37 system restoration from backups, 227-230 swapoff command, deactivating swap files, 289 t command, changing partition types, 286 swapon command, 72, 288 system security, 236 T -t flag, 351 -t option, dip program, 563 863 tags, HTML, 614 ADDRESS, 620 attributes, 613-614 DD, 621 DL, 621 DT, 621 IMG, 626 LI, 620 OL, 621 text formatting, 618 UL, 620 Tannebaum, Andrew, 23-25 tape drives backups, 226 Linux install issues, 36 supported, 775 tar files, 154 decompressing, 155-156 viewing documentation files, 156 tar utility archives, compressing, 230 automating backup commands, 231 backups, 229 directories, 231-232 multivolume, 230 subdirectories, 231-232 command parameters, 229 f option, 230 find command, 230 m option, 230 v option, 230 verbose mode, 230 z option, 230-231 tasks down time scheduling, 388 regular basis scheduling, 389-390 specific time scheduling, 386-387 TCP (Transmission Control Protocol), 466, 524 864 TCP/IP (Transmission Control Protocol/Internet Protocol) TCP/IP (Transmission Control Protocol/Internet Protocol), 172, 484 configuring, Red Hat Linux, 79 history, 464 networks configuration files, 484 connections, 477-478 dynamic IP routing, 489 host name to IP address mapping, 484 monitoring, netstat program, 493 static IP routing, 489 ports, Apache, 675 protocol stack, 468 routing, 489 terminals emulators Seyon telecom program, 455 xterm program, 449 environment, configuring, 341 lockouts, security, 244 logins, 338 see also dumb terminals; smart terminals tcsh shell, configuring newsreaders, 534 test command number comparisons, 375 testing shell scripts, 374 technical support, 20-22 Tektronix 4014, xterm emulator, 449 telecomuunications options, minicom, 122 Telnet, 466, 604 archie searches, 603 command-line arguments, 578 configuring for Netscape, 605 example session, 579 quitting, 579 remote terminal sessions, 578 starting, 578, 605 WAIS searches, 608 TERM variable, 348 determining display settings, 180 problems, checking settings, 181 TERMCAP environment variables, xterm program, 449 terminating all background processes, 402 commands, carriage returns, 360 processes, kill command, 400-401 testing network connections, 174 smb.conf file, 299 testparm program, testing smb.conf file, 292, 299 Tetris game, 124 text adding, emacs, 550 adding lines, vi, 182 alternate text, non-graphic browsers, 626 buffer storage, 180 changing/replacing in vi, 195-196 copying emacs, 554 to command line, 107 vi, 198 see also yank command cutting, 197-198, 365 deleting emacs, 550 vi, 193 editing, vi, 180 formatting Web pages, 615-617 opening line in vi buffer, 192 pasting emacs, 554 vi, 197-198 saving edits, vi, 180 search and replace options, emacs, 551-553 typing in vi input mode, 191 Web pages, 618 text editors emacs, 540 e-mail messages, 634-635 ex, 178 vi, 178 vim, 178 text formatting tags, HTML, 618 text-based interactive program, kernel install, 255-256 text-entry mode vi, 179, 182 see also input mode tgz file extension, 155 threads, newsgroup articles, 664 throttling Web server cloning, 678 TI calculator emulation, 451-452 tilde character (~), home directory reference, 108 time slices, 382 time zone, configuring Linux, 100 Red Hat Linux, 79 time-field options, crontab command, 390 time-sharing, 382 time/date stamps, changing, 331 timefmt directive, Apache, 695 Timeout directive, Apache, 708 URLs (Uniform Resource Locators) TIN newsreader, 534 software installations, 157 vi editing files, 184 opening files, 184 searches, 195 startup, 181 TERM variable settings, 181 865 topologies of networks, 170 TV tuners supported, 785 Torvalds, Linus, 14, 25-26 twm window manager, 441 touch command, changing time/date stamps, 331 types of partitions, 49 UNIX, 14 directories, 313-315 history, 23-25 networks administration, 172 monitoring, 174 network administrators, 172 software upgrades, 175 systems administrator, hardware/software issues, 172 servers, connections, 166 system administration, 164 versus Linux, 19 Web servers, 672 forking, 678 TypesConfig directive, Apache, 686 unmaintained HOWTOs, 741 typing text, vi input mode, 191 unmounting file systems, 273 TZ variable, 348 unordered lists, Web pages, 620 tips and guidelines for posting newsgroup articles, 663 TITLE tags, HTML, 613-615 /tmp directory, 268 ToCommand option, xgrab program, 457 toggle options, vi, 203 TOP attribute, IMG tags, 626 touch screens supported, 784 tracing shell scripts, echo command, 367 tty command, 309 tuning performance, Apache, 712, 717 tutorials, emacs, 541 tracking file transfer status, FTP, 585 training network administrators, 175-176 translation modes, Seyon telecom program, 456 Transport layer, OSI model, 467 U U tags, HTML, 618 unsupported hardware, 795 unused accounts, security, 239 UDP (User Datagram Protocol), 466 unzip command, 332 UL tags, HTML, 620 update/bug fix packages Caldera OpenLinux, 40 Red Hat Linux, 39 Trek game, 125 umount command, 273 trn newsreader, 667 uncompress command, 156 troubleshooting at command, 391 crontab command, 391 DNS, 514 emacs file editing, 544 odd buffer displays, 543 search and replace option, 552 text deletion, 554 FTP, binary file transfers, 589 printing, 415-416 Red Hat Linux install, 52-56, 86 unconditional termination, background processes, 402 undeleting e-mail, 640 undeliverable e-mail, 631 underline text, Web pages, 618 undo command emacs, 546 vi, 186-187 uninstalling LILO program, 101 software packages, 158 with RPM, 151-152 unzipping files, 154-156 updating time/date stamps, 331 upgrades kernels, 158, 159 Red Hat Linux, 66, 152 software, 146-147, 175 UPSs supported, 786 URLs (Uniform Resource Locators), 597 Caldera Web site, 88 Web pages, 614 links, 624 see also Web sites 866 Usenet Usenet, 532 * for article emphasis, 662 alt.* newsgroups, 533 articles, 656 headers, 664 limiting distribution, 660 posting, 657 bandwidth, 657 configuring clients, 534 connections via NNTP servers, 534 de.* newsgroups, 533 differences from BBSes, 656 emoticons, 662 etiquette guidelines, 536 FAQs, 657 flames, 657, 661, 666 FYI, 657 IMHO, 657 kill files, 666 Linux newsgroups, 722-724 moderators, 536 net.personalities, 657 netiquette, 661, 666 newbies, 657 news, 656 news feeds, 656 news.announce.newusers newsgroup, 534 news.answers newsgroup, mailing lists, 607 newsgroups, 532, 657 alt.*, 660 culture, 662 e-mail replies, 664 follow-up articles, 665 hierarchies, 533, 659 moderated, 663 posting articles, 665 reading articles, 664 subscriptions, 663 newsreaders, 534-535, 656-657 posting messages, 535 quotes and quotebacks, 657 rn newsreader, 667 ROFL, 657 RTFM, 657 searches, Web browsers, 606 shouting, 662 sigfiles, 535, 658, 665 signal-to-noise, 657 smileys, 658, 662 spam, 664 threads, 664 user accounts, 106 adding, 108, 111 configuring, 174 deleting groups, 223 passwords, 222 dial-up passwords, 251 groups, 223 home directories, 110 Linux config, 101 logins, 220-222 logouts, 108 managing, 220 passwd command, account security options, 250 passwords, 110, 220-221 changing, 113 file entries, 220 shadowing, 249 removing, 222-223 root, 108 security accounts without passwords, 239 command accounts, 240 default accounts, 239 guest accounts, 239 logins, 238 unused accounts, 239 shells, 110 switching, su command, 110 user names, 109 verifying, 110 verifying passwords, 250 user names, accounts, 106, 109 User/Group Manager options, XFree86 Control Panel, 111 user/group name error messages, Apache, 680 useradd command, Shadow Suite, 249 userdel, Shadow Suite, 250 UserDir directive, Apache, 692 usermod utility, Shadow Suite, 250 users logged on system, who command, 392 monitoring processes, 397 resource usage, who command, 392 specific user system access, 393-394 USL (UNIX System Laboratories), UNIX development, 24 /usr directory, subdirectories, 269 user IDs, Apache, 675 utilities backups, 229 finger, verifying user accounts, 110 Linuxconf, Web-based system administration, 224 nslookup DNS testing, 515 viewing root name servers, 514 rescue, 213 smbstatus, 292 SuperProbe video hardware data, 431 testparm, 292 usermod, Shadow Suite, 250 see also commands user interfaces, X Windows, 425 UUCP (UNIX to UNIX Copy), 532, 658 user authentication, Apache, 704 user directories, 692 user identity/type of work on system, ps command, 243 user name/password invalid error message, 108 viewing V versions of kernel, determining, 254 -v option, tar utility, 230 versions of Linux, 16 V7 UNIX, UUCP messaging program, 532 vi text editor, 178 command, 191 abandoning file changes, 186 adding lines of text, 182 append command, 191 big-movement keys, 190 buffer, saving, 187 change commands, 195-196 command mode, 179-182 commands repeating, 199 summary, 199-201 text deletion, 193 composing e-mail messages, 634-635 configuring, 201-202 correcting mistakes, 183 cursor movement, 180 cursor positioning commands, 190 cutting text, 197-198 deleting text, 193 displaying text line numbers, 194 editing text, 180 files creating, 182 editing, 183 overwriting, 188 saving, 183, 187-188 full-screen editor, 178-179 home position, 190 command, 191 input mode, 179, 182, 191 last line on-screen, 190 command, 192 opening line of text in buffer, 192 command, 197 pasting text, 197-198 positioning cursor, 189 quitting, 184-185 replace commands, 195-196 saving buffer, 187 text edits, 180 values, variables command line parameters, 369 command result assignments, 370 direct assignment, 368 read command assignments, 369 /var directory, 268 variables, 367 Bourne shell environment, 345 dip program, 565 environment, 346, 352 exporting to shells, 378-379 HOME, 347 LOGNAME, 348 MAIL, 348 mail program environment, 647 PATH, 345-347 PS1, 348 shell scripts, 368-370 substituting, 356-357 TERM, 348 determining display settings, 180 TZ, 348 values, 368-370 verbose mode, tar utility, 230 verifying backups, 227 group accounts, 250 packages, 153-154 partitions, 284-285 passwords, 250 user accounts, 110 identity, 246 veronica searches, 606 867 screen backward/forward option, 191 search and replace commands, 194, 198 settings, 204 showmode option, 203 starting, 181 status line, 180 TERM variable, determining display settings, 180 text addition commands, 193 changing/replacing, 195-196 copying, 198 text-entry mode, 179 toggle options, 203 troubleshooting startup, 181 TERM variable settings, 181 undo command, 186-187 viewing settings, 203 writing files, 187 yank commands, copying text, 198 video determining settings in vi, 180 monitor, clearing, 117 see also monitors video cards chipsets, Linux support, 34 installing, 430 supported, 784-785 XFree86, X servers, 429 XFree86 compatible, 428 viewing active network connections, 494 documentation files, 156 file contents, 325-329 binary files, 327-329 cat command, 326 escaping to shell, 327 more/less commands, 326 searching contents, 327 HTML source code, 613 kernel modules, 260 viewing 868 root name servers, 514 routing table, 490, 497 tar listings, 156 vi settings, 203 vim text editor, 178 virtual hosts, Apache, 705 virtual memory, X Windows, 427 virtual terminals, 545 logins, 338 switching, 338 X Windows, 440 Virtualhost directive, Apache, 675 vt102 xterm emulation, 449 VTs (Virtual Terminals), 466 W w command saving vi buffer, 187 writing partition table data to disk, 72, 286 WABI (Windows Applications Binary Interface), 21 WAIS (Wide Area Information Servers), 608 watchdog timer interfaces supported, 787 Web, see WWW Web browsers, 597, 610 alternate text for non-graphic browsers, 626 Netscape telnet configuration, 605 searches archie, 602 FTP, 601 gopher, 605 telnet, 604 Usenet, 606 Web pages addresses, 620 anchors, 623-625 body section, 613 bold text, 618 combined lists, 622 definition lists, 621 formatting text, 617 graphics, 625 alternate text, nongraphic browsers, 626 inline images, 626 links, 627 headings, 613-615 horizontal lines, 617 inline images, 626 italic text, 618 line breaks, 617 links, 596, 623 graphics, 626 naming, 625 page link references, 624 lists, nesting, 622 ordered lists, 620 paragraph breaks, 617 paragraphs, 617 preformatted text, 618 signatures, 620 source code example, 612 STRONG tags, 618 text formatting, 617-618 underline text, 618 unordered lists, 620 URLs, 614 Web servers, 672 Apache configuring, 684 see also Apache forking, 678 spikes in requests, 711 Web sites access methods, 597 archie servers, 602 Caldera, 88 online catalog, 23 document conversions, 611 FTP, 602 gopher, 606 HTML conversion software, 611 HTML editor listings, 611 Internet Assigned Numbers Authority, MIME types list, 686 links, 596 Linux, 722 Linux Installation and Getting Guide, 26 Macromedia, HTML editors, 611 NIC, obtaining IP addresses, 471 RPM (Red Hat Package Manager), 149 Sausage Software, HTML editors, 611 ssh utility, 211 URLs, 597, 614 Web-based system administration, Linuxconf utility, 224 while loops, 377-378 who command, 392 widgets, resource specifications, 457 wildcards asterisk (*), 353 filename matching, 352 question mark (?), 354 window managers, X Windows CDE, 444 Enlightenment, 444 fvwm, 442 fvwm95, 443 KDE, 444 olwm, 443 twm, 441 Windows Applications Binary Interface (WABI), 21 running programs under Linux, 143 support, 20 windows, active, 440 Wine Windows emulator, 143-144 yank commands WordPerfect for Linux, 23 workbone CD player, 120 workstations, distributed processing, 169 writing e-mail messages, 633 files, vi, 187 HOWTOs, 741 partition table data to disk, w command, 72 shell programs, 367 WWW (World Wide Web), 464, 596 e-mail, see e-mail searches, 598 Boolean expressions, 600 keywords, 599 sendmail configuration files, 526 structure, 596 X X applications Red Hat Linux options, 444 Slackware Linux package, 448 X Bitmap files, Web page graphics, 626 X servers video cards, XFree86, 429 virtual terminals, 440 X Windows, 422, 440 active window, 440 clients, 424 configuring kernel install, 257 Red Hat Linux, 78 DOOM for Linux installing, 458 starting, 459 input capabilities, 425 installing, 429 kerneld daemon, kernel module options, 260 lockout options, 458 menus, 440 network transparency, 424 output capabilities, 424 overview of system, 423 probe only mode, system configuration data, 437 resource files, 438 servers, 424 user interfaces, 425 virtual memory, 427 terminals, 440 window managers CDE, 444 Enlightenment, 444 fvwm, 442 fvwm95, 443 KDE, 444 olwm, 443 twm, 441 xterm sessions, 440 xcalc program, Slackware Linux package, 451 XENIX, 24-25 XF86Config program, 431 building via xf86Config program, 437 Device section, 435 Files section, 432 file values, 437 Keyboard section, 433 Monitor section, 434-435 Pointer section, 433 Screen section, 436 sections, 431 ServerFlags section, 432 starting, 437 XFree86, 422 accelerated chipsets, 428 configuring, 430-431 Control Panel, User/Group Manager options, 111 distribution files, 426 DOOM for Linux installing, 458 starting, 459 869 hardware support, 427 historical overview, 423 input capabilities, 425 installing, 425, 429 pkgtool program, 425, 429 SuperProbe video hardware, 431 video cards, 430 output capabilities, 424 RAM, 427 resource files, 438 server, configuring Red Hat Linux, 78 swap files, 427 video cards, 428-429 xgrab program, 457 xlock program, Slackware Linux package, 458 XNS (Xerox Network Systems), 476 xspread program, Slackware Linux package, 454 xterm program escape sequences, 450 mouse options, 450 sessions, 440 Slackware Linux package, 448 TERMCAP environment variables, 449 xv screen-capture program, Red Hat Linux, 446 Y y package, games, 124 Yahoo! search engine, 599 yank commands emacs, 554 vi, 198 870 z file extension Z z file extension, 155, 332 -z option, tar utility, compressing files, 230-231 zcat command, 332 zipping files, 332 zless command, 332 zmodem protocol, 124 zombie processes, 397 zones, DNS, 503 ...ii Special Edition Using Linux Contents Using Linux Fourth Edition Jack Tackett, Jr Steve Burnett iii iv Special Edition Using Linux Special Edition Using Linux Copyright © 1999... Conventions Used in This Book I Installing Linux Understanding Linux 13 What Is Linux? 14 Why Use Linux? 15 Linux Distributions 16 Advantages of Using Linux 17 Open Systems Portability 17 Applications... 42 Using FDISK 43 Repartitioning Your DOS Drive 44 Using the Linux fdisk Program 47 Adding the Necessary Partition 50 Troubleshooting Problems 52 From Here… 56 viii Special Edition Using Linux