Linux Admin About the Tutorial Linux was designed based on the Unix philosophy of “small, precise tools chained together simplifying larger tasks”. Linux, at its root, does not have large single-purpose applications for one specific use a lot of the time. Instead, there are hundreds of basic utilities that when combined offer great power to accomplish big tasks with efficiency. Unique amongst business class Linux distributions, CentOS stays true to the open-source nature that Linux was founded on. This tutorial gives a complete understanding on Linux Admin and explains how to use it for benefit. Audience This tutorial has been prepared for beginners to help them understand the fundamentals of Linux Admin. It will specifically be useful for Linux administration professionals. After completing this tutorial, you will find yourself at a moderate level of expertise from where you can take yourself to the next levels. Prerequisites Before you go ahead with this tutorial, we assume that you have a basic knowledge of Linux and Administration fundamentals. Copyright & Disclaimer Copyright 2020 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] i Linux Admin Table of Contents About the Tutorial .................................................................................................................................... i Audience .................................................................................................................................................. i Prerequisites ............................................................................................................................................ i Copyright & Disclaimer ............................................................................................................................. i Table of Contents .................................................................................................................................... ii 1. LINUX ADMIN ─ CENTOS OVERVIEW ................................................................................... 1 2. LINUX ADMIN ─ BASIC CENTOS LINUX COMMANDS ............................................................ 2 Using the vi / vim Text Editor .................................................................................................................. 3 Grep Command ....................................................................................................................................... 7 more and less Command ......................................................................................................................... 8 tail Command ......................................................................................................................................... 9 head Command ..................................................................................................................................... 10 wc Command ........................................................................................................................................ 10 sort Command....................................................................................................................................... 11 uniq Command ...................................................................................................................................... 17 tee Command ........................................................................................................................................ 18 cat Command ........................................................................................................................................ 20 cut Command ........................................................................................................................................ 24 sed Command ....................................................................................................................................... 26 tr Command .......................................................................................................................................... 31 paste Command .................................................................................................................................... 33 3. LINUX ADMIN ─ FILE / FOLDER MANAGEMENT ................................................................. 36 Applying Permissions to Directories and Files ....................................................................................... 37 ii Linux Admin 4. LINUX ADMIN ─ USER MANAGEMENT ............................................................................... 42 CentOS Users ........................................................................................................................................ 42 Manage Groups ..................................................................................................................................... 43 5. LINUX ADMIN ─ QUOTA MANAGEMENT............................................................................ 47 Enable Quota Management in /etc/fstab .............................................................................................. 47 Remount the File System ...................................................................................................................... 50 Create Quota Database Files ................................................................................................................. 50 Add Quota Limits Per User .................................................................................................................... 51 6. LINUX ADMIN ─ SYSTEMD SERVICES START & STOP........................................................... 53 Manage Services with systemctl............................................................................................................ 54 7. LINUX ADMIN ─ RESOURCE MGMT WITH SYSTEMCTL ....................................................... 58 8. LINUX ADMIN ─ RESOURCE MGMT WITH CRGOUPS .......................................................... 62 Configure CGroups in CentOS Linux ....................................................................................................... 64 9. LINUX ADMIN ─ PROCESS MANAGEMENT ......................................................................... 66 Basic CentOS Process and Job Management in CentOS ......................................................................... 66 ps Command ......................................................................................................................................... 68 pstree Command ................................................................................................................................... 69 top Command ....................................................................................................................................... 70 kill Command ........................................................................................................................................ 72 free Command ...................................................................................................................................... 74 nice Command ...................................................................................................................................... 74 10. LINUX ADMIN ─ FIREWALL SETUP ...................................................................................... 76 11. LINUX ADMIN ─ CONFIGURE PHP IN CENTOS LINUX .......................................................... 82 Install MySQL Database Server .............................................................................................................. 84 Install and Configure PHP ...................................................................................................................... 85 iii Linux Admin 12. LINUX ADMIN ─ SET UP PYTHON WITH CENTOS LINUX ...................................................... 87 13. LINUX ADMIN ─ CONFIGURE RUBY ON CENTOS LINUX ...................................................... 90 Method 1 : rbenv for Dynamic Ruby Development Environments ......................................................... 91 Method 2 : Install Ruby from CentOS Packages ..................................................................................... 92 14. LINUX ADMIN – SET UP PERL FOR CENTOS LINUX ............................................................. 93 15. LINUX ADMIN ─ INSTALL & CONFIGURE OPEN LDAP ......................................................... 97 Brief History of LDAP ............................................................................................................................. 97 Install Open LDAP on CentOS ................................................................................................................ 98 Configure Open LDAP .......................................................................................................................... 100 Configure LDAP Client Access .............................................................................................................. 106 16. LINUX ADMIN ─ CREATE SSL CERTIFICATES ...................................................................... 107 SSL vs TLS Versioning ........................................................................................................................... 107 Install and Configure openssl .............................................................................................................. 108 Create Self-signed Certificate for OpenLDAP ....................................................................................... 109 Create Self-signed Certificate for Apache Web Server ......................................................................... 110 Configure Apache to Use Key and Certificate Files .............................................................................. 112 17. LINUX ADMIN : INSTALL APACHE WEB SERVER CENTOS 7 ............................................... 115 Brief History on Apache WebServer .................................................................................................... 115 Install Current Stable Version on CentOS Linux 7 ................................................................................ 115 18. LINUX ADMIN ─ MYSQL SETUP ON CENTOS 7 .................................................................. 118 MariaDB vs MySQL On CentOS Linux ................................................................................................... 118 Download and Add the MySQL Repository .......................................................................................... 118 19. LINUX ADMIN ─ SET UP POSTFIX MTA & IMAP/POP3 ...................................................... 120 Install Dovecot IMAP and POP3 Server ................................................................................................ 123 iv Linux Admin 20. LINUX ADMIN ─ INSTALL ANONYMOUS FTP..................................................................... 126 21. LINUX ADMIN ─ REMOTE MANAGEMENT ........................................................................ 129 Install and Configure SSH for Remote Access ...................................................................................... 130 Configure VNC for Remote CentOS Administration ............................................................................. 132 Set Up SSH Tunnel Through VNC ......................................................................................................... 135 Use SSH Tunnel for Remote X-Windows .............................................................................................. 138 22. LINUX ADMIN ─ TRAFFIC MONITORING IN CENTOS ......................................................... 140 Install Fedora EPEL Repository ─ Extra Packages for Enterprise Linux .................................................. 141 Install and Use nload ........................................................................................................................... 142 23. LINUX ADMIN ─ LOG MANAGEMENT ............................................................................... 146 Set the Correct System Time Zone ....................................................................................................... 146 Use journalctl to Analyze Logs ............................................................................................................. 147 Analyze Logs by Log Type .................................................................................................................... 150 24. LINUX ADMIN ─ BACKUP & RECOVERY ............................................................................ 152 Use rsync for File Level Backups .......................................................................................................... 153 Local Backup With rsync ...................................................................................................................... 154 Remote Differential Backups With rsync ............................................................................................. 156 Use DD for Block-by-Block Bare Metal Recovery Images ..................................................................... 157 Use gzip and tar for Secure Storage ..................................................................................................... 160 Encrypt TarBall Archives ...................................................................................................................... 165 25. LINUX ADMIN ─ SYSTEM UPDATES .................................................................................. 168 Manually Update CentOS 7 ................................................................................................................. 168 Configure Automatic Updates for YUM ............................................................................................... 173 v Linux Admin 26. LINUX ADMIN ─ SHELL SCRIPTING ................................................................................... 175 Using Shell Script Versus Scripting Language ....................................................................................... 175 Input Output and Redirection ............................................................................................................. 177 Bash Shell Constructs .......................................................................................................................... 180 Loops .................................................................................................................................................. 182 Conditionals ........................................................................................................................................ 184 Loop Control ....................................................................................................................................... 185 Read and Write to Files ....................................................................................................................... 186 Basic Math Operations ........................................................................................................................ 187 BASH Troubleshooting Hints ............................................................................................................... 189 27. LINUX ADMIN ─ PACKAGE MANAGEMENT ...................................................................... 191 YUM Package Manager ....................................................................................................................... 191 Most Common YUM Commands ......................................................................................................... 193 Install Software with YUM .................................................................................................................. 193 Graphical Package Management in CentOS ......................................................................................... 199 28. LINUX ADMIN ─ VOLUME MANAGEMENT ....................................................................... 200 Traditional Linux Disk Administration Tools ........................................................................................ 200 Create Volume Groups and Logical Volumes ....................................................................................... 204 vi 1. Linux Admin ─ CentOS Overview Linux Admin Unique among business class Linux distributions, CentOS stays true to the open-source nature that Linux was founded on. The first Linux kernel was developed by a college student at the University of Helsinki (Linus Torvalds) and combined with the GNU utilities founded and promoted by Richard Stallman. CentOS has a proven, open-source licensing that can power today’s business world. CentOS has quickly become one of the most prolific server platforms in the world. Any Linux Administrator, when seeking employment, is bound to come across the words: “CentOS Linux Experience Preferred”. From startups to Fortune 10 tech titans, CentOS has placed itself amongst the higher echelons of server operating systems worldwide. What makes CentOS stand out from other Linux distributions is a great combination of: Open source licensing Dedicated user-base of Linux professionals Good hardware support Rock-solid stability and reliability Focus on security and updates Strict adherence to software packaging standards needed in a corporate environment Before starting the lessons, we assume that the readers have a basic knowledge of Linux and Administration fundamentals such as: What is the root use? The power of the root user Basic concept of security groups and users Experience using a Linux terminal emulator Fundamental networking concepts Fundamental understanding of interpreted programming languages (Perl, Python, Ruby) Networking protocols such as HTTP, LDAP, FTP, IMAP, SMTP Cores that compose a computer operating system: file system, drivers, and the kernel 1 2. Linux Admin ─ Basic CentOS Linux Commands Linux Admin Before learning the tools of a CentOS Linux Administrator, it is important to note the philosophy behind the Linux administration command line. Linux was designed based on the Unix philosophy of “small, precise tools chained together simplifying larger tasks”. Linux, at its root, does not have large single-purpose applications for one specific use a lot of the time. Instead, there are hundreds of basic utilities that when combined offer great power to accomplish big tasks with efficiency. Examples of the Linux Philosophy For example, if an administrator wants a listing of all the current users on a system, the following chained commands can be used to get a list of all system users. On execution of the command, the users are on the system are listed in an alphabetical order. [root@centosLocal centos]# cut /etc/passwd -d":" -f1 | sort abrt adm avahi bin centos chrony colord daemon dbus It is easy to export this list into a text file using the following command. [root@localhost /]# cut /etc/passwd -d ":" -f1 > system_users.txt [root@localhost /]# cat ./system_users.txt | sort | wc –l 40 [root@localhost /]# It is also possible to compare the user list with an export at a later date. [root@centosLocal centos]# cut /etc/passwd -d ":" -f1 > system_users002.txt && cat system_users002.txt | sort | wc -l 41 [root@centosLocal centos]# diff ./system_users.txt ./system_users002.txt evilBackdoor [root@centosLocal centos]# A new user, “evilBackdoor", has been added to the system. 2 Linux Admin With this approach of small tools chained to accomplish bigger tasks, it is simpler to make a script performing these commands, then automatically email results at regular time intervals. Basic Commands every Linux Administrator should be proficient in are: vim grep more less tail head wc sort uniq tee cat cut sed tr paste In the Linux world, Administrators use filtering commands every day to parse logs, filter command output, and perform actions with interactive shell scripts. As mentioned, the power of these commands come in their ability to modify one another through a process called piping. The following command shows how many words begin with the letter a from the CentOS main user dictionary. [root@centosLocal ~]# egrep '^a.*$' /usr/share/dict/words | wc -l 25192 [root@centosLocal ~]# Using the vi / vim Text Editor vim represents a newer, improved version of the vi text editor for Linux. vim is installed by default on CentOS 7, the most recent version of CentOS. However, some older and minimal base installs will only include the original vi by default. The biggest difference between vi and vim are advanced ease-of-use features such as moving the cursor with the arrow keys. Where vim will allow the user to navigate a text file with the arrow keys, vi is restricted to using the "h", "j", "k", "l" keys, listed as follows. 3
Description: