Linux Training

Paul Cobbaut

lt-0.98


Fri 25 Mar 2011 01:11:04 PM IST

Abstract

This book is meant to be used in an instructor-led training. For self-study, the intent is to read this book next to a working Linux computer so you can immediately do every subject, practicing each command.

This book is aimed at novice Linux system administrators (and might be interesting and useful for home users that want to know a bit more about their Linux system). However, this book is not meant as an introduction to Linux desktop applications like text editors, browsers, mail clients, multimedia or office applications.

More information and free .pdf available at http://linux-training.be .

Feel free to contact the authors:

  • Paul Cobbaut: [email protected], http://www.linkedin.com/in/cobbaut

Contributors to the Linux Training project are:

  • Serge van Ginderachter: [email protected], build scripts; infrastructure setup; minor stuff

  • Hendrik De Vloed: [email protected], buildheader.pl script

We'd also like to thank our reviewers:

  • Wouter Verhelst: [email protected], http://grep.be

  • Geert Goossens: [email protected], http://www.linkedin.com/in/geertgoossens

  • Elie De Brauwer: [email protected], http://www.de-brauwer.be

  • Christophe Vandeplas: [email protected], http://christophe.vandeplas.com

  • Bert Desmet: [email protected], http://bdesmet.be

  • Rich Yonts: [email protected],

Copyright 2007-2011 Netsec BVBA, Paul Cobbaut

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled 'GNU Free Documentation License'.


1. Introduction to Unix and Linux
1.1. Unix History
1.1.1. AT&T Bell Labs
1.1.2. The Unix Wars
1.1.3. University of California, Berkeley
1.1.4. GNU's not Unix
1.1.5. Linux
1.2. Licensing
1.2.1. Proprietary
1.2.2. BSD
1.2.3. GNU General Public License (GPL)
1.2.4. Others...
1.3. Current Distributions
1.3.1. What is a distribution ?
1.3.2. Linux Distributions
1.3.3. BSD Distributions
1.3.4. Major Vendors of Unix
1.3.5. Solaris
1.4. Certification
1.4.1. LPI: Linux Professional Institute
1.4.2. Red Hat Certified Engineer
1.4.3. MySQL
1.4.4. Novell CLP/CLE
1.4.5. Sun Solaris
1.4.6. Other certifications
1.5. Discovering the classroom
2. Getting help
2.1. man pages
2.1.1. man $command
2.1.2. man $configfile
2.1.3. man $daemon
2.1.4. man -k (apropos)
2.1.5. whatis
2.1.6. whereis
2.1.7. man sections
2.1.8. man $section $file
2.1.9. man man
2.1.10. mandb
2.2. online help
2.2.1. Google
2.2.2. Wikipedia
2.2.3. The Linux Documentation Project
2.2.4. Red Hat
2.2.5. Ubuntu
2.2.6. www.linux-training.be
3. Working with directories
3.1. working with directories
3.1.1. pwd
3.1.2. cd
3.1.3. absolute and relative paths
3.1.4. path completion
3.1.5. ls
3.1.6. mkdir
3.1.7. rmdir
3.2. practice : working with directories
3.3. solution : working with directories
4. Working with files
4.1. working with files
4.1.1. all files are case sensitive
4.1.2. file
4.1.3. touch
4.1.4. rm
4.1.5. cp
4.1.6. mv
4.1.7. rename
4.2. practice : working with files
4.3. solution : working with files
5. Working with filecontents
5.1. file contents
5.1.1. head
5.1.2. tail
5.1.3. cat
5.1.4. tac
5.1.5. more and less
5.1.6. strings
5.2. practice : file contents
5.3. solution : file contents
6. The Linux file system tree
6.1. file system tree
6.1.1. everything is a file
6.1.2. / (the root directory)
6.1.3. man hier
6.1.4. filesystem hierarchy standard
6.1.5. common directories
6.2. practice : file system tree
6.3. solution : file system tree
7. Introduction to the shell
7.1. introduction to the shell
7.1.1. several shells
7.1.2. external or built-in commands
7.1.3. type
7.1.4. running external commands
7.1.5. which
7.1.6. alias
7.1.7. echo
7.1.8. shell expansion
7.1.9. displaying shell expansion
7.1.10. shell options
7.2. practice: introduction to the shell
7.3. solution: introduction to the shell
8. Shell control operators
8.1. control operators
8.1.1. ; semicolon
8.1.2. & ampersand
8.1.3. && double ampersand
8.1.4. || double vertical bar
8.1.5. Combining && and ||
8.1.6. # pound sign
8.1.7. \ escaping special characters
8.1.8. end of line backslash
8.2. practice: control operators
8.3. solution: control operators
9. Shell variables
9.1. shell variables
9.1.1. $ dollar sign
9.1.2. case sensitive
9.1.3. $PS1
9.1.4. $PATH
9.1.5. $? dollar question mark
9.1.6. unbound variables
9.1.7. creating and setting variables
9.1.8. set
9.1.9. unset
9.1.10. env
9.1.11. exporting variables
9.1.12. delineate variables
9.1.13. quotes and variables
9.2. practice: shell variables
9.3. solution: shell variables
10. Shell arguments
10.1. shell arguments
10.1.1. white space removal
10.1.2. single quotes
10.1.3. double quotes
10.1.4. echo and quotes
10.1.5. shell embedding
10.1.6. back ticks
10.1.7. back ticks or single quotes
10.2. practice: shell arguments
10.3. solution: shell arguments
11. Shell history
11.1. shell history
11.1.1. history variables
11.1.2. repeating commands in bash
11.1.3. repeating commands in ksh
12. Shell globbing
12.1. file globbing
12.1.1. * asterisk
12.1.2. ? question mark
12.1.3. [] square brackets
12.1.4. a-z and 0-9 ranges
12.1.5. $LANG and square brackets
12.2. practice : shell globbing, options and history
12.3. solution: shell globbing, options and history
13. Shell I/O redirection
13.1. shell i/o redirection
13.1.1. stdin, stdout, and stderr
13.1.2. > output redirection
13.1.3. noclobber
13.1.4. >> append
13.1.5. 2> error redirection
13.1.6. 2>&1
13.1.7. < input redirection
13.1.8. << here document
13.1.9. confusing i/o redirection
13.1.10. quick file clear
13.1.11. swapping stdout and stderr
13.2. practice : i/o redirection
13.3. solution : i/o redirection
14. Pipes and filters
14.1. pipes
14.1.1. about pipes
14.1.2. | vertical bar
14.1.3. multiple pipes
14.2. filters
14.2.1. about filters
14.2.2. cat does nothing
14.2.3. tee
14.2.4. grep
14.2.5. cut
14.2.6. tr
14.2.7. wc
14.2.8. sort
14.2.9. uniq
14.2.10. comm
14.2.11. od
14.2.12. sed
14.3. some pipeline examples
14.3.1. who | wc
14.3.2. who | cut | sort
14.3.3. grep | cut
14.4. practice : pipes and filters
14.5. solution : pipes and filters
15. Basic Unix tools
15.1. common tools
15.1.1. find
15.1.2. locate
15.1.3. date
15.1.4. cal
15.1.5. sleep
15.1.6. time
15.2. compression tools
15.2.1. gzip - gunzip
15.2.2. zcat - zmore
15.2.3. bzip2 - bunzip2
15.2.4. bzcat - bzmore
15.3. practice : basic Unix tools
15.4. solution : basic Unix tools
16. Introduction to vi
16.1. about vi(m)
16.2. introduction to using vi(m)
16.2.1. command mode and insert mode
16.2.2. start typing (a A i I o O)
16.2.3. replace and delete a character (r x X)
16.2.4. undo and repeat (u .)
16.2.5. cut, copy and paste a line (dd yy p P)
16.2.6. cut, copy and paste lines (3dd 2yy)
16.2.7. start and end of a line (0 or ^ and $)
16.2.8. join two lines (J) and more
16.2.9. words (w b)
16.2.10. save (or not) and exit (:w :q :q! )
16.2.11. Searching (/ ?)
16.2.12. Replace all ( :1,$ s/foo/bar/g )
16.2.13. Reading files (:r :r !cmd)
16.2.14. text buffers
16.2.15. multiple files
16.2.16. abbreviations
16.2.17. key mappings
16.2.18. setting options
16.3. practice : vi(m)
16.4. solution : vi(m)
17. Understanding scripts
17.1. introduction to scripting
17.1.1. scripts are everywhere
17.1.2. hello world
17.1.3. she-bang
17.1.4. comment
17.1.5. variables
17.1.6. sourcing a script
17.1.7. prevent setuid root spoofing
17.2. practice : introduction to scripting
17.3. solution : introduction to scripting
17.4. scripting tests and loops
17.4.1. test [ ]
17.4.2. if if, then then, or else
17.4.3. for loop
17.4.4. while loop
17.4.5. until loop
17.5. practice : scripting tests and loops
17.6. solution : scripting tests and loops
17.7. parameters and options
17.7.1. script parameters
17.7.2. shift through parameters
17.7.3. runtime input
17.7.4. sourcing a config file
17.7.5. get script options with getopts
17.7.6. get shell options with shopt
17.8. practice : parameters and options
17.9. solution : parameters and options
17.10. more scripting
17.10.1. eval
17.10.2. (( ))
17.10.3. let
17.10.4. case
17.10.5. shell functions
17.11. practice : more scripting
17.12. solution : more scripting
18. Introduction to users
18.1. identify yourself
18.1.1. whoami
18.1.2. who
18.1.3. who am i
18.1.4. w
18.1.5. id
18.2. users
18.2.1. user management
18.2.2. /etc/passwd
18.2.3. root
18.2.4. useradd
18.2.5. /etc/default/useradd
18.2.6. userdel
18.2.7. usermod
18.3. passwords
18.3.1. passwd
18.3.2. /etc/shadow
18.3.3. password encryption
18.3.4. password defaults
18.3.5. disabling a password
18.3.6. editing local files
18.4. home directories
18.4.1. creating home directories
18.4.2. /etc/skel/
18.4.3. deleting home directories
18.5. user shell
18.5.1. login shell
18.5.2. chsh
18.6. switch users with su
18.6.1. su to another user
18.6.2. su to root
18.6.3. su as root
18.6.4. su - $username
18.6.5. su -
18.7. run a program as another user
18.7.1. about sudo
18.7.2. setuid on sudo
18.7.3. visudo
18.7.4. sudo su
18.8. practice: users
18.9. solution: users
18.10. shell environment
18.10.1. /etc/profile
18.10.2. ~/.bash_profile
18.10.3. ~/.bash_login
18.10.4. ~/.profile
18.10.5. ~/.bashrc
18.10.6. ~/.bash_logout
18.10.7. Debian overview
18.10.8. RHEL5 overview
19. Introduction to groups
19.1. about groups
19.2. groupadd
19.3. /etc/group
19.4. usermod
19.5. groupmod
19.6. groupdel
19.7. groups
19.8. gpasswd
19.9. vigr
19.10. practice: groups
19.11. solution: groups
20. Standard file permissions
20.1. file ownership
20.1.1. user owner and group owner
20.1.2. chgrp
20.1.3. chown
20.2. list of special files
20.3. permissions
20.3.1. rwx
20.3.2. three sets of rwx
20.3.3. permission examples
20.3.4. setting permissions (chmod)
20.3.5. setting octal permissions
20.3.6. umask
20.4. practice: standard file permissions
20.5. solution: standard file permissions
21. Advanced file permissions
21.1. sticky and setgid bits
21.1.1. sticky bit on directory
21.1.2. setgid bit on directory
21.1.3. setgid and setuid on regular files
21.2. practice: sticky, setuid and setgid bits
21.3. solution: sticky, setuid and setgid bits
22. Access control lists
22.1. access control lists
22.1.1. acl in /etc/fstab
22.1.2. getfacl
22.1.3. setfacl
22.1.4. remove an acl entry
22.1.5. remove the complete acl
22.1.6. the acl mask
22.1.7. eiciel
23. File links
23.1. inodes
23.1.1. inode contents
23.1.2. inode table
23.1.3. inode number
23.1.4. inode and file contents
23.2. about directories
23.2.1. a directory is a table
23.2.2. . and ..
23.3. hard links
23.3.1. creating hard links
23.3.2. finding hard links
23.4. symbolic links
23.5. removing links
23.6. practice : links
23.7. solution : links
24. Introduction to Processes
24.1. terminology
24.1.1. process
24.1.2. PID
24.1.3. PPID
24.1.4. init
24.1.5. kill
24.1.6. daemon
24.1.7. zombie
24.2. basic process management
24.2.1. $$ and $PPID
24.2.2. pidof
24.2.3. parent and child
24.2.4. fork and exec
24.2.5. exec
24.2.6. ps
24.2.7. pgrep
24.2.8. top
24.3. signalling processes
24.3.1. kill
24.3.2. list signals
24.3.3. kill -1 (SIGHUP)
24.3.4. kill -15 (SIGTERM)
24.3.5. kill -9 (SIGKILL)
24.3.6. killall
24.3.7. pkill
24.3.8. top
24.3.9. SIGSTOP and SIGCONT
24.4. practice : basic process management
24.5. solution : basic process management
25. Process management
25.1. terminology
25.1.1. process
25.1.2. PID
25.1.3. PPID
25.1.4. init
25.1.5. kill
25.1.6. daemon
25.1.7. zombie
25.2. basic process management
25.2.1. $$ and $PPID
25.2.2. pidof
25.2.3. parent and child
25.2.4. fork and exec
25.2.5. exec
25.2.6. ps
25.2.7. pgrep
25.2.8. top
25.3. signalling processes
25.3.1. kill
25.3.2. list signals
25.3.3. kill -1 (SIGHUP)
25.3.4. kill -15 (SIGTERM)
25.3.5. kill -9 (SIGKILL)
25.3.6. killall
25.3.7. pkill
25.3.8. top
25.3.9. SIGSTOP and SIGCONT
25.4. practice : basic process management
25.5. solution : basic process management
25.6. priority and nice values
25.6.1. introduction
25.6.2. pipes (mkfifo)
25.6.3. some fun with cat
25.6.4. top
25.6.5. top -p
25.6.6. renice
25.6.7. impact of nice values
25.6.8. nice
25.7. practice : process priorities
25.8. solution : process priorities
25.9. background processes
25.9.1. jobs
25.9.2. control-Z
25.9.3. & ampersand
25.9.4. jobs -p
25.9.5. fg
25.9.6. bg
25.10. practice : background processes
25.11. solution : background processes
26. Disk management
26.1. hard disk devices
26.1.1. terminology
26.1.2. device naming
26.1.3. discovering all disk devices
26.1.4. erasing a hard disk
26.1.5. advanced hard disk settings
26.2. practice: hard disk devices
26.3. solution: hard disk devices
26.4. partitions
26.4.1. about partitions
26.4.2. partition naming
26.4.3. discovering all partitions
26.4.4. partitioning new disks
26.4.5. about the partition table
26.5. practice: partitions
26.6. solution: partitions
26.7. file systems
26.7.1. about file systems
26.7.2. common file systems
26.7.3. putting a file system on a partition
26.7.4. tuning a file system
26.7.5. checking a file system
26.8. practice: file systems
26.9. solution: file systems
26.10. mounting
26.10.1. mounting local file systems
26.10.2. displaying mounted file systems
26.10.3. permanent mounts
26.10.4. securing mounts
26.11. practice: mounting file systems
26.12. solution: mounting file systems
26.13. uuid and filesystems
26.13.1. about unique objects
26.13.2. uuid in /etc/fstab
26.13.3. uuid in menu.lst
26.14. practice: uuid and filesystems
26.15. solution: uuid and filesystems
26.16. RAID
26.16.1. Hardware or software
26.16.2. RAID levels
26.16.3. Building a software RAID array
26.16.4. /proc/mdstat
26.16.5. Removing a software RAID
26.17. practice: RAID
27. Logical volume management
27.1. introduction to lvm
27.1.1. problems with standard partitions
27.1.2. solution with lvm
27.1.3. about lvm
27.2. lvm terminology
27.2.1. physical volume (pv)
27.2.2. volume group (vg)
27.2.3. logical volume (lv)
27.3. example: using lvm
27.4. example: extend a logical volume
27.5. example: resize a physical Volume
27.6. example: mirror a logical volume
27.7. example: snapshot a logical volume
27.8. verifying existing physical volumes
27.8.1. lvmdiskscan
27.8.2. pvs
27.8.3. pvscan
27.8.4. pvdisplay
27.9. verifying existing volume groups
27.9.1. vgs
27.9.2. vgscan
27.9.3. vgdisplay
27.10. verifying existing logical volumes
27.10.1. lvs
27.10.2. lvscan
27.10.3. lvdisplay
27.11. manage physical volumes
27.11.1. pvcreate
27.11.2. pvremove
27.11.3. pvresize
27.11.4. pvchange
27.11.5. pvmove
27.12. manage volume groups
27.12.1. vgcreate
27.12.2. vgextend
27.12.3. vgremove
27.12.4. vgreduce
27.12.5. vgchange
27.12.6. vgmerge
27.13. manage logical volumes
27.13.1. lvcreate
27.13.2. lvremove
27.13.3. lvextend
27.13.4. lvrename
27.14. practice : lvm
28. Booting the system
28.1. boot terminology
28.1.1. post
28.1.2. bios
28.1.3. openboot
28.1.4. boot password
28.1.5. boot device
28.1.6. master boot record
28.1.7. bootloader
28.1.8. kernel
28.2. grub
28.2.1. about grub
28.2.2. /boot/grub/menu.lst
28.2.3. /boot/grub/grub.conf
28.2.4. menu commands
28.2.5. stanza commands
28.2.6. chainloading
28.2.7. stanza examples
28.2.8. editing grub at boot time
28.2.9. installing grub
28.3. lilo
28.3.1. Linux loader
28.3.2. lilo.conf
28.4. practice : bootloader
28.5. solution : bootloader
29. init
29.1. about sysv init
29.2. system init(ialization)
29.2.1. process id 1
29.2.2. configuration in /etc/inittab
29.2.3. initdefault
29.2.4. sysinit script
29.2.5. rc scripts
29.2.6. rc directories
29.2.7. mingetty
29.3. daemon or demon ?
29.4. starting and stopping daemons
29.5. chkconfig
29.5.1. chkconfig --list
29.5.2. runlevel configuration
29.5.3. chkconfig configuration
29.5.4. enable and disable services
29.6. update-rc.d
29.6.1. about update-rc.d
29.6.2. removing a service
29.6.3. enable a service
29.6.4. customize a service
29.7. bum
29.8. runlevels
29.8.1. display the runlevel
29.8.2. changing the runlevel
29.8.3. /sbin/shutdown
29.8.4. halt, reboot and poweroff
29.8.5. /var/log/wtmp
29.8.6. Ctrl-Alt-Del
29.8.7. UPS and loss of power
29.9. practice: init
29.10. solution : init
30. Linux Kernel
30.1. about the Linux kernel
30.1.1. kernel versions
30.1.2. uname -r
30.1.3. /proc/cmdline
30.1.4. single user mode
30.1.5. init=/bin/bash
30.1.6. /var/log/messages
30.1.7. dmesg
30.2. Linux kernel source
30.2.1. ftp.kernel.org
30.2.2. /usr/src
30.2.3. downloading the kernel source
30.3. kernel boot files
30.3.1. vmlinuz
30.3.2. initrd
30.3.3. System.map
30.3.4. .config
30.4. Linux kernel modules
30.4.1. about kernel modules
30.4.2. /lib/modules
30.4.3. <module>.ko
30.4.4. lsmod
30.4.5. /proc/modules
30.4.6. module dependencies
30.4.7. insmod
30.4.8. modinfo
30.4.9. modprobe
30.4.10. /lib/modules/<kernel>/modules.dep
30.4.11. depmod
30.4.12. rmmod
30.4.13. modprobe -r
30.4.14. /etc/modprobe.conf
30.5. compiling a kernel
30.5.1. extraversion
30.5.2. make mrproper
30.5.3. .config
30.5.4. make menuconfig
30.5.5. make clean
30.5.6. make bzImage
30.5.7. make modules
30.5.8. make modules_install
30.5.9. /boot
30.5.10. mkinitrd
30.5.11. bootloader
30.6. compiling one module
30.6.1. hello.c
30.6.2. Makefile
30.6.3. make
30.6.4. hello.ko
31. Introduction to network sniffing
31.1. about sniffing
31.2. wireshark
31.2.1. installing wireshark
31.2.2. selecting interface
31.2.3. start sniffing
31.2.4. looking inside packets
31.2.5. use filters
31.3. tcpdump
31.4. practice: network sniffing
31.5. solution: network sniffing
32. Introduction to networking
32.1. introduction to computer networks
32.1.1. theory about network layers
32.1.2. network layers in this book
32.1.3. tcp/ip
32.1.4. rfc (request for comment)
32.1.5. lan - man - wan
32.1.6. unicast - multicast - broadcast
32.1.7. internet - intranet - extranet
32.1.8. vpn (virtual private network)
32.2. about tcp/ip
32.2.1. overview of tcp/ip v4
32.2.2. internet and routers
32.2.3. many protocols
32.2.4. arp
32.2.5. hostname
32.2.6. ip services
32.3. practice : about tcp/ip
32.4. solution : about tcp/ip
32.5. using tcp/ip
32.5.1. command line or graphical tools ?
32.5.2. /sbin/ifconfig
32.5.3. /etc/init.d/network(ing)
32.5.4. /etc/sysconfig
32.5.5. /sbin/ifup and /sbin/ifdown
32.5.6. /sbin/dhclient
32.5.7. /sbin/route
32.5.8. ping
32.5.9. Red Hat network settings backup
32.5.10. restarting the network
32.5.11. ethtool
32.6. practice : using tcp/ip
32.7. solution : using tcp/ip
32.8. multiple ip-addresses
32.8.1. binding multiple ip-addresses
32.8.2. enabling extra ip-addresses
32.9. practice : multiple ip-addresses
32.10. solution : multiple ip-addresses
32.11. multihomed hosts
32.11.1. bonding
32.11.2. /proc/net/bond*
32.12. practice : multihomed hosts
32.13. solution : multihomed hosts
32.14. introduction to iptables
32.14.1. iptables firewall
32.15. practice : iptables
32.16. solution : iptables
32.17. xinetd and inetd
32.17.1. the superdaemon
32.17.2. inetd or xinetd
32.17.3. xinetd superdaemon
32.17.4. inetd superdaemon
32.18. practice : inetd and xinetd
32.19. openssh
32.19.1. secure shell
32.19.2. ssh protocol versions
32.19.3. public and private keys
32.19.4. setting up passwordless ssh
32.19.5. X forwarding via SSH
32.19.6. troubleshooting ssh
32.20. practice: ssh
32.21. network file system
32.21.1. protocol versions
32.21.2. server configuration
32.21.3. client configuration
32.22. practice : network file system
33. Scheduling
33.1. about scheduling
33.2. one time jobs with at
33.2.1. at
33.2.2. atq
33.2.3. atrm
33.2.4. at.allow and at.deny
33.3. cron
33.3.1. crontab file
33.3.2. crontab command
33.3.3. cron.allow and cron.deny
33.3.4. /etc/crontab
33.3.5. /etc/cron.*
33.4. practice : scheduling
33.5. solution : scheduling
34. Logging
34.1. about logging
34.1.1. /var/log
34.1.2. /var/log/messages
34.2. login logging
34.2.1. /var/run/utmp (who)
34.2.2. /var/log/wtmp (last)
34.2.3. /var/log/lastlog (lastlog)
34.2.4. /var/log/btmp (lastb)
34.2.5. su and ssh logins
34.3. syslogd daemon
34.3.1. about syslog
34.3.2. facilities
34.3.3. levels
34.3.4. actions
34.3.5. configuration
34.4. logger
34.5. watching logs
34.6. rotating logs
34.7. practice : logging
34.8. solution : logging
35. Library Management
35.1. introduction
35.2. /lib and /usr/lib
35.3. ldd
35.4. ltrace
35.5. dpkg -S and debsums
35.6. rpm -qf and rpm -V
36. Memory management
36.1. about memory
36.2. /proc/meminfo
36.3. swap space
36.3.1. about swap space
36.3.2. creating a swap partition
36.3.3. creating a swap file
36.3.4. swap space in /etc/fstab
36.4. practice : memory
37. Installing Linux
37.1. about
37.2. installation by cdrom
37.3. installation with rarp and tftp
37.4. about Red Hat kickstart
37.5. using kickstart
38. Package management
38.1. terminology
38.1.1. repositories
38.1.2. rpm based
38.1.3. Debian based
38.1.4. building from source
38.1.5. dependency
38.2. Red Hat package manager
38.2.1. about rpm
38.2.2. rpm -qa
38.2.3. rpm -q
38.2.4. rpm -q --redhatprovides
38.2.5. rpm -Uvh
38.2.6. rpm -e
38.2.7. /var/lib/rpm
38.3. yum
38.3.1. about yum
38.3.2. yum list
38.3.3. yum search
38.3.4. yum provides
38.3.5. yum install
38.3.6. yum update
38.3.7. yum software groups
38.3.8. /etc/yum.conf and repositories
38.4. rpm2cpio
38.5. Debian package management
38.5.1. about deb
38.5.2. dpkg -l
38.5.3. dpkg
38.5.4. aptitude
38.5.5. apt-get
38.5.6. /etc/apt/sources.list
38.6. alien
38.7. Downloading software
38.8. Compiling software
38.9. Practice: Installing software
38.10. Solution: Installing software
39. Backup
39.1. About tape devices
39.1.1. SCSI tapes
39.1.2. IDE tapes
39.1.3. mt
39.2. Compression
39.3. tar
39.4. Backup Types
39.5. dump and restore
39.6. cpio
39.7. dd
39.7.1. About dd
39.7.2. Create a CDROM image
39.7.3. Create a floppy image
39.7.4. Copy the master boot record
39.7.5. Copy files
39.7.6. Image disks or partitions
39.7.7. Create files of a certain size
39.7.8. CDROM server example
39.8. split
39.9. Practice backup
40. Performance monitoring
40.1. About Monitoring
40.2. top
40.3. free
40.4. watch
40.5. vmstat
40.6. iostat
40.7. mpstat
40.8. sadc and sar
40.9. ntop
40.10. iftop
41. Introduction to apache
41.1. about apache
41.2. is apache installed ?
41.3. is apache running ?
41.4. apache configuration
41.5. virtual hosts
41.6. aliases and redirects
41.7. securing directories with htpasswd and .htaccess
41.8. more on .htaccess
41.9. traffic
41.10. practice: apache
42. Introduction to squid
42.1. about proxy servers
42.1.1. usage
42.1.2. open proxy servers
42.1.3. squid
42.2. squid proxy server
42.2.1. /etc/squid/squid.conf
42.2.2. /var/spool/squid
42.2.3. port 3128 or port 8080
42.2.4. /var/log/squid
42.2.5. access control
42.2.6. testing squid
42.2.7. name resolution
43. Introduction to mysql
43.1. about mysql
43.2. installing mysql
43.3. mysql user management
43.3.1. Linux users
43.3.2. mysql root user
43.3.3. mysql client application
43.3.4. ~/.my.cnf
43.3.5. the mysql command line client
43.4. mysql databases
43.4.1. listing all databases
43.4.2. using a database
43.4.3. creating databases
43.4.4. access to databases
43.4.5. deleting databases
43.4.6. backup and restore databases
43.5. mysql tables
43.5.1. listing tables
43.5.2. creating a table
43.5.3. describing a table
43.5.4. removing a table
43.6. mysql records
43.6.1. creating records
43.6.2. viewing all records
43.6.3. updating records
43.6.4. viewing selected records
43.6.5. deleting records
43.7. mysql triggers
43.7.1. using a before trigger
43.7.2. removing a trigger
44. Introduction to bind
44.1. DNS History
44.2. DNS Structure
44.2.1. root
44.2.2. top level domains (TLD)
44.2.3. domains
44.2.4. fully qualified domain name
44.3. How DNS works
44.3.1. zone
44.3.2. master and slave
44.3.3. zone transfers
44.3.4. full or incremental zone transfers
44.3.5. DNS cache
44.3.6. caching only server
44.3.7. iterative or recursive query
44.4. old stuff....work in progress
44.5. bind
44.6. named
44.7. Caching only Name Server
44.8. Our first zone
44.9. Starting the name server
44.10. Practice DNS
45. Routers
45.1. terminology
45.1.1. router or firewall
45.1.2. packet forwarding
45.1.3. packet filtering
45.1.4. stateful
45.1.5. NAT (network address translation)
45.2. packet forwarding
45.2.1. about packet forwarding
45.2.2. /proc/sys/net/ipv4/ip_forward
45.2.3. /etc/sysctl.conf
45.2.4. Practice: packet forwarding
45.2.5. Solution: packet forwarding
46. Iptables
46.1. about iptables
46.2. packet filtering
46.2.1. about packet filtering
46.2.2. filter table
46.2.3. Changing default policy rules
46.2.4. Allowing ssh over eth0
46.2.5. Allowing access from a subnet
46.2.6. iptables save
46.2.7. scripting example
46.2.8. Allowing ICMP(ping)
46.2.9. Practice: packet filtering
46.2.10. Solution: packet filtering
46.3. network address translation
46.3.1. about NAT
46.3.2. SNAT (Source NAT)
46.3.3. SNAT example setup
46.3.4. IP masquerading
46.3.5. DNAT (Destination NAT)
47. Cloning a Linux server
47.1. About cloning
47.2. About offline cloning
47.3. Offline cloning example
48. SELinux
48.1. about selinux
48.2. selinux modes
48.3. activating selinux
48.4. getenforce
48.5. setenforce
48.6. sestatus
48.7. logging
48.8. DAC or MAC
48.9. ls -Z
48.10. /selinux
48.11. /etc/selinux/config
48.12. identity
48.13. type (or domain)
48.14. role
48.15. security context
48.16. transition
48.17. policy
48.18. extended attributes
48.19. process security context
48.20. chcon
48.21. a practical example
49. Samba introduction
49.1. verify installed version
49.1.1. .rpm based distributions
49.1.2. .deb based distributions
49.2. installing samba
49.2.1. .rpm based distributions
49.2.2. .deb based distributions
49.3. documentation
49.3.1. samba howto
49.3.2. samba by example
49.4. samba daemons
49.4.1. nmbd
49.4.2. smbd
49.4.3. winbindd
49.5. starting and stopping samba
49.6. the SMB protocol
49.6.1. brief history
49.6.2. broadcasting protocol
49.6.3. NetBIOS names
49.6.4. network bandwidth
49.7. Practice: introduction to samba
50. Samba getting started
50.1. /etc/samba/smb.conf
50.1.1. smbd -b
50.1.2. the default smb.conf
50.1.3. minimal smb.conf
50.1.4. net view
50.1.5. long lines in smb.conf
50.1.6. curious smb.conf
50.1.7. man smb.conf
50.2. /usr/bin/testparm
50.2.1. syntax check smb.conf
50.2.2. testparm -v
50.2.3. testparm -s
50.3. /usr/bin/smbclient
50.3.1. smbclient looking at Samba
50.3.2. smbclient anonymous
50.3.3. smbclient with credentials
50.4. /usr/bin/smbtree
50.5. server string
50.6. Samba Web Administration Tool (SWAT)
50.7. Practice: getting started with samba
50.8. Solution: getting started with samba
51. Samba read only file server
51.1. Setting up a directory to share
51.2. configure the share
51.2.1. smb.conf [global] section
51.2.2. smb.conf [share] section
51.3. restart the server
51.4. verify the share
51.4.1. verify with smbclient
51.4.2. verify on windows
51.5. a note on netcat
51.6. Practice: read only file server
51.7. Solution: read only file server
52. Samba writable file server
52.1. set up a directory to share
52.2. share section in smb.conf
52.3. configure the share
52.4. test connection with windows
52.5. test writing with windows
52.6. How is this possible ?
52.7. Practice: writable file server
52.8. Solution: writable file server
53. Samba first user account
53.1. creating a samba user
53.2. ownership of files
53.3. /usr/bin/smbpasswd
53.4. /etc/samba/smbpasswd
53.5. forcing this user
53.6. Practice: first samba user account
53.7. Solution: first samba user account
54. Samba authentication
54.1. creating the users on Linux
54.2. creating the users on samba
54.3. security = user
54.4. configuring the share
54.5. testing access with net use
54.6. testing access with smbclient
54.7. verify ownership
54.8. common problems
54.8.1. NT_STATUS_BAD_NETWORK_NAME
54.8.2. NT_STATUS_LOGON_FAILURE
54.8.3. usernames are (not) case sensitive
54.9. Practice : samba authentication
54.10. Solution: samba authentication
55. Samba securing shares
55.1. security based on user name
55.1.1. valid users
55.1.2. invalid users
55.1.3. read list
55.1.4. write list
55.2. security based on ip-address
55.2.1. hosts allow
55.2.2. hosts deny
55.3. security through obscurity
55.3.1. hide unreadable
55.3.2. browsable
55.4. file system security
55.4.1. create mask
55.4.2. force create mode
55.4.3. security mask
55.4.4. force security mode
55.4.5. inherit permissions
55.5. Practice: securing shares
55.6. Solution: securing shares
56. Samba domain member
56.1. changes in smb.conf
56.1.1. workgroup
56.1.2. security mode
56.1.3. Linux uid's
56.1.4. winbind use default domain
56.1.5. [global] section in smb.conf
56.1.6. realm in /etc/krb5.conf
56.1.7. [share] section in smb.conf
56.2. joining an Active Directory domain
56.3. winbind
56.3.1. adding winbind to nsswitch.conf
56.3.2. starting samba and winbindd
56.4. wbinfo
56.4.1. verify the trust
56.4.2. list all users
56.4.3. list all groups
56.4.4. query a user
56.5. getent
56.6. file ownership
56.7. Practice : samba domain member
57. Samba domain controller
57.1. About Domain Controllers
57.1.1. Windows NT4
57.1.2. Windows 200x
57.1.3. Samba 3
57.1.4. Samba 4
57.2. About security modes
57.2.1. security = share
57.2.2. security = user
57.2.3. security = domain
57.2.4. security = ads
57.2.5. security = server
57.3. About password backends
57.4. [global] section in smb.conf
57.4.1. security
57.4.2. os level
57.4.3. passdb backend
57.4.4. preferred master
57.4.5. domain logons
57.4.6. domain master
57.4.7. [global] section
57.5. netlogon share
57.6. other [share] sections
57.7. Users and Groups
57.8. tdbsam
57.9. about computer accounts
57.10. local or roaming profiles
57.11. Groups in NTFS acls
57.12. logon scripts
57.13. Practice
58. Samba 4
58.1. Samba 4 alpha 6
A. Keyboard settings
A.1. About Keyboard Layout
A.2. X Keyboard Layout
A.3. Shell Keyboard Layout
B. Hardware Settings
B.1. buses
B.1.1. about buses
B.1.2. /proc/bus
B.1.3. /usr/sbin/lsusb
B.1.4. /var/lib/usbutils/usb.ids
B.1.5. /usr/sbin/lspci
B.2. interrupts
B.2.1. about interrupts
B.2.2. /proc/interrupts
B.2.3. dmesg
B.3. io ports
B.3.1. about io ports
B.3.2. /proc/ioports
B.4. dma
B.4.1. about dma
B.4.2. /proc/dma
C. User quota's
C.1. About Disk Quotas
C.2. Practice Disk quotas
D. VNC
D.1. About VNC
D.2. VNC Server
D.3. VNC Client
D.4. Practice VNC
E. GNU FDL
Index
n
Next Page
p
Previos Page
h
Book Home
u
Go Up One Level
?
Press ? for Help
esc
Hide Help
Your Ad Here