معرفی کتاب Linux Bible, 10th Edition

downlaod Linux Bible book

با سلام خدمت همراهان همیشگی فرکیان تک. با شما هستیم با کتاب Linux Bible . این کتاب بر مفاهیم  command line تمرکز کرده است .

شرح

انجیل لینوکس، نسخه نهم، راهنمای عملی نهایی کاربر لینوکس است، چه مبتدی واقعی باشید. این نسخه نهم به روز شده جدیدترین نسخه های Red Hat Enterprise Linux 7 (RHEL 7)، فدورا 21 و اوبونتو 14.04 LTS را پوشش می دهد و شامل اطلاعات جدیدی در مورد محاسبات ابری و توسعه با راهنمایی در Openstack و Cloudforms است.

با تمرکز بر RHEL 7، این راهنمای عملی شما را به سرعت بالا می برد. برای سیستم های فایل با کیفیت سازمانی، فرآیند بوت جدید و مدیریت خدمات، فایروال و دسکتاپ GNOME 3. این کتاب که توسط یک متخصص Red Hat نوشته شده است، توضیحات واضح و دستورالعمل های گام به گامی را ارائه می دهد که لینوکس را ابهام زدایی می کند و ویژگی های جدید را به طور یکپارچه در جریان کار شما قرار می دهد.

فهرست مطالب

بخش اول : شروع

فصل 1 : شروع با لینوکس

درک مفهوم لینوکس
درک تفاوت لینوکس با سایر سیستم عامل ها
کاوش در تاریخچه لینوکس
فرهنگ یونیکس در آزمایشگاه بل
یونیکس تجاری (Commercial UNIX)
انتقال GNU UNIX
مقدار از دست دادن BSD
قطعه گمشده Linus
تعریف منبع باز OSI
توزیع های لینوکس
انتخاب توزیع (Red Hat)
انتخاب Ubuntu یا توزیع Debian
یافتن فرصت های حرفه ای با لینوکس
درک نحوه کسب درآمد شرکت ها با لینوکس
دریافت گواهی (Red Hat)

فصل 2: ​​ایجاد دسکتاپ لینوکس کامل

آشنایی با فناوری دسکتاپ لینوکس
با تصویر زنده دسکتاپ Fedora GNOME شروع می شود
استفاده از دسکتاپ GNOME
بوت شدن کامپیوتر
راه اندازی دسکتاپ GNOME
گسترش دسکتاپ GNOME
شروع با برنامه های دسکتاپ
توقف دسکتاپ GNOME
استفاده از دسکتاپ GNOME
با استفاده از Metacity window manager
تغییر ظاهر GNOME
استفاده از پانل های GNOME
افزودن جلوه های سه بعدی با AIGLX

بخش دوم: تبدیل شدن به یک کاربر قدرتمند لینوکس

فصل 3 : استفاده از (Shell)

درباره Shells و Terminal Windows
با استفاده از shell prompt
با استفاده از پنجره ترمینال
استفاده از کنسول های مجازی
انتخاب (Shell)
اجرای دستورات
درک نحوه دستور
مکان یابی دستورات
فراخوانی دستورات با استفاده از تاریخچه فرمان
ویرایش خط فرمان
تکمیل خط فرمان
فراخوان خط فرمان
اتصال و گسترش دستورات
Piping بین دستورات
دستورات متوالی
دستورات پس زمینه
گسترش دستورات
Expanding عبارات حسابی
Expanding متغیرها
استفاده از متغیرهای Shell
ایجاد و استفاده از نام مستعار
خروج از پوسته
ایجاد محیط پوسته
پیکربندی پوسته
تنظیم درخواست شما (Setting your prompt)
اضافه کردن متغیرهای محیطی
دریافت اطلاعات در مورد دستورات

فصل 4 : حرکت در اطراف سیستم فایل

استفاده از دستورات اساسی سیستم فایل
استفاده از Metacharacters و عملگرها
استفاده از Metacharacters تطبیق فایل
استفاده از Metacharacters تغییر مسیر فایل
استفاده از کاراکترهای expansion پرانتز
فهرست کردن فایل ها و فهرست ها
درک مجوزها و مالکیت فایل
تغییر مجوزها با chmod (اعداد)
تغییر مجوزها با chmod (حروف)
تنظیم مجوز پیش فرض فایل با umask
تغییر مالکیت فایل
انتقال، کپی و حذف فایل ها

فصل 5 : کار با فایل های متنی

ویرایش فایل ها با vim و vi
شروع با vi
پرش در فایل
جستجوی متن
با استفاده از حالت ex
آشنایی بیشتر با vi و vim
یافتن فایل های
استفاده از مکان برای یافتن فایل ها با نام
جستجو برای فایل های با find
جستجو در فایل ها با grep

فصل 6 : مدیریت فرآیندهای در حال اجرا

درک فرآیندها
فرآیندهای فهرست
فرآیندهای لیست کردن با ps
فهرست کردن و تغییر فرآیندها با برتر
فهرست کردن فرآیندها با System Monitor
مدیریت فرآیندهای پس زمینه و پیش زمینه
شروع فرآیندهای پس زمینه
استفاده از دستورات پیش زمینه و پس زمینه
فرآیندهای Killing و Renicing
فرآیندهای کشتن با kill و killall
تنظیم اولویت پردازنده با nice and renice
فرآیندهای محدود کردن با cgroups

فصل 7 : نوشتن اسکریپت های ساده پوسته

درک اسکریپت هایShell
اجرای و اشکال زدایی اسکریپت های پوسته
درک متغیرهای پوسته
انجام محاسبات در اسکریپت های پوسته
استفاده از ساختارهای برنامه نویسی در اسکریپت های پوسته
آزمایش برخی از برنامه های مفید دستکاری متن
استفاده از اسکریپت های پوسته ساده

بخش سوم : تبدیل شدن به یک مدیر سیستم لینوکس

فصل 8 : آموزش مدیریت سیستم

آشنایی با مدیریت سیستم
استفاده از ابزارهای مدیریت گرافیکی
با استفاده از حساب کاربری root
کاوش در دستورات اداری ، فایل های پیکربندی ، و فایل های گزارش
دستورات اداری
فایل های پیکربندی اداری
استفاده از سایر حساب های اداری
بررسی و پیکربندی سخت افزار
بررسی سخت افزار
مدیریت سخت افزار قابل جابجایی
کار با ماژول های قابل بارگذاری

فصل 9 : نصب لینوکس

انتخاب کامپیوتر
نصب Fedora از Live Media
نصب لینوکس Red Hat Enterprise از Installation Media
درک Cloud-Based Installations
نصب لینوکس در Enterprise
بررسی موضوعات نصب رایج
ارتقا یا نصب از ابتدا
بوت دوگانه (Dual booting)
نصب لینوکس برای اجرای مجازی
استفاده از گزینه های boot options
استفاده از ذخیره سازی تخصصی
پارتیشن بندی هارد دیسک
GRUB با استفاده از boot loader

فصل 10 : دریافت و مدیریت نرم افزار

مدیریت نرم افزار روی دسکتاپ
فراتر از پنجره نرم افزار
درک لینوکس RPM و بسته بندی نرم افزار DEB
آشنایی با بسته بندی DEB
آشنایی با بسته بندی RPM
مدیریت بسته های RPM با YUM
انتقال از yum به dnf
درک نحوه عملکرد yum
استفاده از YUM با مخازن نرم افزار شخص ثالث
مدیریت نرم افزار با دستور yum
نصب، پرس و جو و تأیید نرم افزار با دستور rpm
نصب و برداشتن پکیج ها با rpm
استعلام اطلاعات rpm در دقیقه
بررسی بسته های RPM
مدیریت نرم افزار در Enterprise

فصل 11 : مدیریت حساب های کاربری

ایجاد حساب های کاربری
افزودن کاربران با useradd
تنظیم پیش فرض های کاربر
تغییر کاربران با usermod
حذف کاربران با userdel
درک حساب های گروهی
استفاده از حساب های گروهی
ایجاد حساب های گروهی
مدیریت کاربران در Enterprise
تنظیم مجوزها با Access Control Lists
متمرکز کردن حساب های کاربری

فصل 12 : مدیریت دیسک ها و سیستم های فایل

آشنایی با فضای ذخیره سازی دیسک
پارتیشن بندی هارد دیسک
آشنایی با جداول پارتیشن
مشاهده پارتیشن های دیسک
ایجاد یک دیسک تک پارتیشن
ایجاد یک دیسک چند پارتیشن
استفاده از پارتیشن های Logical Volume Manager
بررسی یک LVM موجود
ایجاد حجم های منطقی LVM
افزایش حجم های منطقی LVM
نصب فایل سیستم
فایل سیستم های پشتیبانی شده
فعال کردن مناطق مبادله
غیرفعال کردن swap area
استفاده از فایل fstab برای تعریف سیستم های فایل قابل نصب
استفاده از دستور mount برای نصب فایل سیستم ها
نصب تصویر دیسک در Loopback
با استفاده از دستور umount
با استفاده از دستور mkfs برای ایجاد یک سیستم فایل
مدیریت فضای ذخیره سازی با Cockpit

بخش چهارم : تبدیل شدن به یک مدیر سرور لینوکس

فصل 13 : درک مدیریت سرور

شروع با Server Administration

مرحله 1: سرور را نصب کنید
مرحله 2: سرور را پیکربندی کنید
مرحله 3: سرور را راه اندازی کنید
مرحله 4: سرور را ایمن کنید
مرحله 5: سرور را نظارت کنید
بررسی و تنظیم سرورهای
مدیریت دسترسی از راه دور با Secure Shell Service
راه اندازی سرویس openssh-server
استفاده از ابزار کلاینت SSH
با استفاده از احراز هویت مبتنی بر کلید (بدون رمز عبور)
پیکربندی سیستم ورود به سیستم
فعال کردن ثبت سیستم با rsyslog
تماشای logs با logwatch
بررسی منابع سیستم با sar
بررسی فضای سیستم
نمایش فضای سیستم با df
بررسی میزان استفاده از دیسک با du
یافتن مصرف دیسک با find
مدیریت سرورها در Enterprise

فصل 14 : مدیریت شبکه

پیکربندی شبکه برای دسکتاپ
بررسی رابط های شبکه
پیکربندی رابط های شبکه
پیکربندی اتصال پراکسی شبکه
پیکربندی شبکه از خط فرمان
پیکربندی شبکه با nmtui
ویرایش اتصال TUI NetworkManager
آشنایی با فایل های پیکربندی شبکه
تنظیم نام مستعار رابط های شبکه
راه اندازی پیوند کانال Ethernet
تنظیم مسیرهای سفارشی
پیکربندی شبکه در Enterprise
پیکربندی لینوکس به عنوان Router
پیکربندی لینوکس به عنوان سرور DHCP
پیکربندی لینوکس به عنوان یک سرور DNS
پیکربندی لینوکس به عنوان یک سرور پراکسی

فصل 15 : شروع و توقف خدمات

آشنایی با Daemon اولیه سازی (init یا systemd)
آشنایی با Daemon های کلاسیک init
آشنایی با مقداردهی اولیه systemd
بررسی وضعیت خدمات
بررسی خدمات برای سیستم های SysVinit
توقف و راه اندازی خدمات
توقف و راه اندازی سرویس های SysVinit
فعال کردن خدمات دائمی
پیکربندی سرویس های پایدار برای SysVinit
پیکربندی یک Runlevel یا Target Unit پیش فرض
پیکربندی سطح اجرای پیش فرض SysVinit
افزودن خدمات جدید یا سفارشی
افزودن خدمات جدید به SysVinit
افزودن خدمات جدید به systemd

فصل 16 : پیکربندی سرور چاپ

سیستم چاپ رایج UNIX
راه اندازی چاپگرهای
افزودن خودکار چاپگر
با استفاده از مدیریت CUPS مبتنی بر وب
با استفاده از پنجره تنظیمات چاپ
کار با CUPS Printing
پیکربندی سرور CUPS (cupsdconf)
راه اندازی سرور CUPS
پیکربندی گزینه های چاپگر CUPS به صورت دستی
با استفاده از دستورات چاپ
چاپ با lp
وضعیت لیست با lpstat -t
حذف کارهای چاپی با lprm
پیکربندی سرورهای چاپ
پیکربندی چاپگر CUPS مشترک
پیکربندی یک چاپگر Samba مشترک

فصل 17 : پیکربندی وب سرور

آشنایی با وب سرور Apache
دریافت و نصب وب سرور
آشنایی با بسته httpd
نصب Apache
راه اندازی Apache
ایمن سازی Apache
آشنایی با فایل های پیکربندی Apache
افزودن هاست مجازی بهApache
امکان انتشار محتوای وب خود به کاربران
ایمن سازی ترافیک وب خود با SSL/TLS
عیب یابی وب سرور
بررسی خطاهای پیکربندی
دسترسی به خطاهای forbidden و server internal

فصل 18 : پیکربندی یک سرور FTP

آشنایی با FTP
نصب vsftpd FTP Server
راه اندازی سرویس vsftpd
ایمن سازی سرور FTP
باز کردن فایروال خود برای FTP
پیکربندی SELinux برای سرور FTP
ارتباط مجوزهای فایل لینوکس با vsftpd
پیکربندی FTP سرور
راه اندازی دسترسی کاربر
اجازه آپلود
راه اندازی vsftpd برای اینترنت
استفاده از کلاینت های FTP برای اتصال به سرور
دسترسی به سرور FTP از فایرفاکس
دسترسی به سرور FTP با دستور lftp
با استفاده از سرویس گیرنده gFTP

فصل 19 : پیکربندی یک Windows File Sharing (Samba) Server

آشنایی با Samba
نصب Samba
شروع و توقف Samba
راه اندازی سرویس Samba (smb)
راه اندازی سرور نام NetBIOS (nmbd)
توقف خدمات Samba (smb) و NetBIOS (nmb)
ایمن سازی Samba
پیکربندی فایروال برای Samba
پیکربندی SELinux برای Samba
پیکربندی مجوزهای میزبان/کاربر Samba
پیکربندی Samba
پیکربندی بخش [global]
پیکربندی بخش [homes]
پیکربندی بخش [printers]
دسترسی به سهام Samba
دسترسی به سهام Samba در لینوکس
دسترسی به سهام Samba در ویندوز
استفاده از Samba در Enterprise

فصل 20 : پیکربندی یک NFS File Server

نصب سرور NFS
راه اندازی سرویس NFS
به اشتراک گذاری فایل سیستم های NFS
پیکربندی فایل /etc/exports
صدور فایل سیستم های مشترک
ایمن سازی سرور NFS
باز کردن فایروال خود برای NFS
اجازه دسترسی به NFS در Wrappers TCP
پیکربندی SELinux برای سرور NFS
با استفاده از NFS Filesystems
مشاهده سهام NFS
نصب دستی فایل سیستم NFS
نصب فایل سیستم NFS در زمان بوت
استفاده از autofs برای نصب فایل سیستم های NFS بر اساس تقاضای
حذف فایل سیستم های NFS

فصل 21 : عیب یابی لینوکس

عیب یابی Boot-Up
آشنایی با روش های راه اندازی
شروع از سیستم عامل (BIOS یا UEFI)
GRUB عیب یابیboot loader
GRUB 2 Boot loader
شروع kernel
عیب یابی بسته های نرم افزاری
تعمیر پایگاه داده های RPM و کش
عیب یابی شبکه
عیب یابی اتصالات خروجی
عیب یابی اتصالات ورودی
عیب یابی حافظه
کشف مشکلات حافظه
عیب یابی در Rescue Mode

بخش پنجم : آموزش تکنیک های امنیتی لینوکس

فصل 22 : آشنایی با امنیت پایه لینوکس

پیاده سازی امنیت فیزیکی
اجرای بازیابی فاجعه
ایمن سازی حساب های کاربری
ایمن سازی رمزهای عبور
ایمن سازی فایل سیستم
مدیریت نرم افزار و خدمات
پیاده سازی پیشرفته
نظارت بر سیستم ها
نظارت بر فایل های گزارش
نظارت بر حساب های کاربری
نظارت بر فایل سیستم
ممیزی و بررسی لینوکس
انجام بررسی های انطباق
انجام بررسی های امنیتی

فصل 23 : درک امنیت پیشرفته لینوکس

پیاده سازی امنیت لینوکس با کریپتوگرافی

آشنایی با hashing
درک رمزگذاری/رمزگشایی
پیاده سازی رمزنگاری لینوکس
پیاده سازی امنیت لینوکس با PAM
آشنایی با فرآیند احراز هویت PAM
مدیریت PAM در سیستم لینوکس
کسب اطلاعات بیشتر در مورد PAM

فصل 24 : افزایش امنیت لینوکس با SELinux

آشنایی با مزایای SELinux
آشنایی با نحوه عملکرد SELinux
درک Type Enforcement
آشنایی با امنیت چند سطحی
پیاده سازی مدل های امنیتی SELinux
پیکربندی SELinux
تنظیم حالت SELinux
تنظیم سیاست SELinux
مدیریت زمینه های امنیتی SELinux
مدیریت بسته های قانون سیاست SELinux
مدیریت SELinux از طریق Booleans
مانیتورینگ و عیب یابی SELinux
آشنایی با SELinux logging
عیب یابی SELinux logging
عیب یابی مشکلات رایج SELinux
Putting It All Together
کسب اطلاعات بیشتر در مورد SELinux

فصل 25 : ایمن سازی لینوکس در شبکه

خدمات شبکه حسابرسی
ارزیابی دسترسی به خدمات شبکه با nmap
استفاده از nmap برای ممیزی تبلیغات خدمات شبکه شما
کار با فایروال
آشنایی با فایروال
پیاده سازی فایروال

بخش ششم : تعامل با رایانش ابری

فصل 26 : تغییر به ابرها و کانتینرها

آشنایی با ظروف لینوکس
فضای نام
رجیستری کانتینر
تصاویر و لایه های پایه
شروع با Linux Containers
کشیدن و راه اندازی کانتینر
راه اندازی و توقف کانتینرهای
ساخت کانتینر تصویر
برچسب گذاری و فشار دادن یک تصویر به یک رجیستری
استفاده از کانتینرها در شرکت

فصل 27 : استفاده از لینوکس برای رایانش ابری

مروری بر لینوکس و رایانش ابری
استفاده از فناوری پایه Cloud
راه اندازی Small Cloud
پیکربندی hypervisors
پیکربندی حافظه
ساخت ماشین های مجازی
مدیریت ماشین های مجازی
مهاجرت ماشین های مجازی

فصل 28 : استقرار لینوکس در Cloud

راه اندازی لینوکس در Cloud
ایجاد تصاویر لینوکس برای Cloud
پیکربندی و اجرای Cloud-init Cloud Instance
بررسی نمونه ابری
شبیه سازی نمونه ابری
استفاده از Cloud-init در محاسبات سازمانی
استفاده از OpenStack برای استقرار Cloud Images
شروع از OpenStack Dashboard
استفاده از Amazon EC2 برای استقرار Cloud Images

فصل 29 : خودکارسازی برنامه ها و زیرساخت ها با Ansible

آشنایی با Ansible
کاوش اجزای Ansible
موجودی
Playbooks
گام برداشتن از طریق استقرار Ansible
نصب Ansible
اجرای دستورات Ad-Hoc Ansible
خودکارسازی وظایف با Ansible Tower Automation Framework

فصل 30 : استقرار برنامه ها به عنوان کانتینر با Kubernetes

درک Kubernetes
Kubernetes Masters
کارگران Kubernetes
برنامه های کاربردی Kubernetes
رابط های Kubernetes
امتحان Kubernetes
دریافت Kubernetes
اجرای آموزش مبانی Kubernetes

Kubernetes با کیفیت Enterprise با OpenShift

 با ما همراه باشید.

DESCRIPTION

Linux Bible, 9th Edition is the ultimate hands-on Linux user guide, whether you’re a true beginners. This updated ninth edition covers the latest versions of Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21, and Ubuntu 14.04 LTS, and includes new information on cloud computing and development with guidance on Openstack and Cloudforms.

With a focus on RHEL 7, this practical guide gets you up to speed quickly . for enterprise-quality file systems, the new boot process and services management, firewalld, and the GNOME 3 desktop. Written by a Red Hat expert, this book provides the clear explanations and step-by-step instructions that demystify Linux and bring the new features seamlessly into your workflow.

Table of contents

Acknowledgments xi

Introduction xxxv

Part I: Getting Started 1

Chapter 1: Starting with Linux 3

Understanding What Linux Is 4

Understanding How Linux Differs from Other Operating Systems 6

Exploring Linux History 7

Free-flowing UNIX culture at Bell Labs 7

Commercial UNIX 9

GNU transitions UNIX to freedom 11

BSD loses some steam 12

Linus builds the missing piece 13

OSI open source definition 14

Understanding How Linux Distributions Emerged 16

Choosing a Red Hat distribution 16

Choosing Ubuntu or another Debian distribution 19

Finding Professional Opportunities with Linux Today 19

Understanding how companies make money with Linux 20

Becoming Red Hat certified 21

Summary 25

Chapter 2: Creating the Perfect Linux Desktop 27

Understanding Linux Desktop Technology 28

Starting with the Fedora GNOME Desktop Live image 30

Using the GNOME 3 Desktop 31

After the computer boots up 31

Setting up the GNOME 3 desktop 38

Extending the GNOME 3 desktop 39

Starting with desktop applications 41

Stopping the GNOME 3 desktop 46

Using the GNOME 2 Desktop 46

Using the Metacity window manager 48

Changing GNOME’s appearance 49

Using the GNOME panels 50

Adding 3D effects with AIGLX 54

Summary 57

Exercises 57

Part II: Becoming a Linux Power User 59

Chapter 3: Using the Shell 61

About Shells and Terminal Windows 62

Using the shell prompt 63

Using a Terminal window 63

Using virtual consoles 65

Choosing Your Shell 65

Running Commands 66

Understanding command syntax 67

Locating commands 70

Recalling Commands Using Command History 72

Command-line editing 73

Command-line completion 75

Command-line recall 76

Connecting and Expanding Commands 78

Piping between commands 78

Sequential commands 79

Background commands 79

Expanding commands 80

Expanding arithmetic expressions 80

Expanding variables 80

Using Shell Variables 81

Creating and using aliases 81

Exiting the shell 83

Creating Your Shell Environment 84

Configuring your shell 84

Setting your prompt 85

Adding environment variables 87

Getting Information about Commands 88

Summary 90

Exercises 90

Chapter 4: Moving Around the Filesystem 93

Using Basic Filesystem Commands 96

Using Metacharacters and Operators 98

Using file-matching metacharacters 98

Using file-redirection metacharacters 99

Using brace expansion characters 101

Listing Files and Directories 101

Understanding File Permissions and Ownership 105

Changing permissions with chmod (numbers) 106

Changing permissions with chmod (letters) 107

Setting default file permission with umask 108

Changing file ownership 109

Moving, Copying, and Removing Files 109

Summary 111

Exercises 111

Chapter 5: Working with Text Files 113

Editing Files with vim and vi 113

Starting with vi 115

Skipping around in the file 119

Searching for text 119

Using ex mode 120

Learning more about vi and vim 120

Finding Files 120

Using locate to find files by name 121

Searching for files with find 122

Searching in files with grep 128

Summary 129

Exercises 129

Chapter 6: Managing Running Processes 131

Understanding Processes 131

Listing Processes 132

Listing processes with ps 132

Listing and changing processes with top 134

Listing processes with System Monitor 136

Managing Background and Foreground Processes 137

Starting background processes 138

Using foreground and background commands 139

Killing and Renicing Processes140

Killing processes with kill and killall 140

Setting processor priority with nice and renice 142

Limiting Processes with cgroups 143

Summary 144

Exercises 145

Chapter 7: Writing Simple Shell Scripts 147

Understanding Shell Scripts 147

Executing and debugging shell scripts 148

Understanding shell variables 149

Performing arithmetic in shell scripts 152

Using programming constructs in shell scripts 153

Trying some useful text manipulation programs 159

Using simple shell scripts 161

Summary 163

Exercises 163

Part III: Becoming a Linux System Administrator 165

Chapter 8: Learning System Administration 167

Understanding System Administration 167

Using Graphical Administration Tools 169

Using the root User Account 174

Exploring Administrative Commands, Configuration Files, and Log Files 178

Administrative commands 178

Administrative configuration files 179

Using Other Administrative Accounts 185

Checking and Configuring Hardware 186

Checking your hardware 187

Managing removable hardware 189

Working with loadable modules 191

Summary 193

Exercises 193

Chapter 9: Installing Linux 195

Choosing a Computer 196

Installing Fedora from Live Media 198

Installing Red Hat Enterprise Linux from Installation Media 201

Understanding Cloud-Based Installations 204

Installing Linux in the Enterprise 205

Exploring Common Installation Topics 207

Upgrading or installing from scratch 207

Dual booting 208

Installing Linux to run virtually 209

Using installation boot options 210

Using specialized storage 213

Partitioning hard drives 214

Using the GRUB boot loader 217

Summary 219

Exercises 219

Chapter 10: Getting and Managing Software 221

Managing Software on the Desktop 221

Going Beyond the Software Window 223

Understanding Linux RPM and DEB Software Packaging 224

Understanding DEB packaging 225

Understanding RPM packaging 226

Managing RPM Packages with YUM 229

Transitioning from yum to dnf 229

Understanding how yum works 229

Using YUM with third-party software repositories 233

Managing software with the yum command 233

Installing, Querying, and Verifying Software with the rpm Command 241

Installing and removing packages with rpm 241

Querying rpm information 242

Verifying RPM packages 244

Managing Software in the Enterprise 245

Summary 246

Exercises 247

Chapter 11: Managing User Accounts 249

Creating User Accounts 249

Adding users with useradd 252

Setting user defaults 255

Modifying users with usermod 257

Deleting users with userdel 258

Understanding Group Accounts 259

Using group accounts 259

Creating group accounts 260

Managing Users in the Enterprise 261

Setting permissions with Access Control Lists 262

Centralizing User Accounts 269

Summary 270

Exercises 270

Chapter 12: Managing Disks and Filesystems 273

Understanding Disk Storage 273

Partitioning Hard Disks 275

Understanding partition tables 275

Viewing disk partitions 276

Creating a single-partition disk 277

Creating a multiple-partition disk 281

Using Logical Volume Manager Partitions 285

Checking an existing LVM 286

Creating LVM logical volumes 289

Growing LVM logical volumes 290

Mounting Filesystems 291

Supported filesystems 291

Enabling swap areas 293

Disabling swap area 294

Using the fstab file to define mountable file systems 295

Using the mount command to mount file systems 297

Mounting a disk image in loopback 298

Using the umount command 299

Using the mkfs Command to Create a Filesystem 300

Managing Storage with Cockpit 301

Summary 303

Exercises 303

Part IV: Becoming a Linux Server Administrator 305

Chapter 13: Understanding Server Administration 307

Starting with Server Administration 308

Step 1: Install the server 308

Step 2: Configure the server 310

Step 3: Start the server 311

Step 4: Secure the server 312

Step 5: Monitor the server 314

Checking and Setting Servers 316

Managing Remote Access with the Secure Shell Service 316

Starting the openssh-server service 317

Using SSH client tools 318

Using key-based (passwordless) authentication 324

Configuring System Logging 326

Enabling system logging with rsyslog 326

Watching logs with logwatch 331

Checking System Resources with sar 332

Checking System Space 334

Displaying system space with df 334

Checking disk usage with du 334

Finding disk consumption with find 335

Managing Servers in the Enterprise 336

Summary 336

Exercises 337

Chapter 14: Administering Networking 339

Configuring Networking for Desktops 340

Checking your network interfaces 342

Configuring network interfaces 349

Configuring a network proxy connection 352

Configuring Networking from the Command Line 353

Configure networking with nmtui 354

Editing a NetworkManager TUI connection 354

Understanding networking configuration files 355

Setting alias network interfaces 360

Setting up Ethernet channel bonding 361

Setting custom routes 363

Configuring Networking in the Enterprise 364

Configuring Linux as a router 364

Configuring Linux as a DHCP server 365

Configuring Linux as a DNS server 365

Configuring Linux as a proxy server 366

Summary 366

Exercises 367

Chapter 15: Starting and Stopping Services 369

Understanding the Initialization Daemon (init or systemd) 370

Understanding the classic init daemons 371

Understanding systemd initialization 377

Checking the Status of Services 384

Checking services for SysVinit systems 385

Stopping and Starting Services 387

Stopping and starting SysVinit services 387

Enabling Persistent Services 391

Configuring persistent services for SysVinit 391

Configuring a Default Runlevel or Target Unit 394

Configuring the SysVinit default runlevel 394

Adding New or Customized Services 396

Adding new services to SysVinit 396

Adding new services to systemd 399

Summary 401

Exercises 401

Chapter 16: Configuring a Print Server 403

Common UNIX Printing System 403

Setting Up Printers 405

Adding a printer automatically 405

Using web-based CUPS administration 406

Using the Print Settings window 409

Working with CUPS Printing 415

Configuring the CUPS server (cupsdconf) 415

Starting the CUPS server 417

Configuring CUPS printer options manually 417

Using Printing Commands 418

Printing with lp 419

Listing status with lpstat -t 419

Removing print jobs with lprm 419

Configuring Print Servers 420

Configuring a shared CUPS printer 420

Configuring a shared Samba printer 422

Summary 424

Exercises 424

Chapter 17: Configuring a Web Server 427

Understanding the Apache Web Server 427

Getting and Installing Your Web Server 428

Understanding the httpd package 428

Installing Apache 431

Starting Apache 432

Securing Apache 433

Understanding the Apache configuration files 435

Adding a virtual host to Apache 440

Allowing users to publish their own web content 442

Securing your web traffic with SSL/TLS 443

Troubleshooting Your Web Server 449

Checking for configuration errors 449

Accessing forbidden and server internal errors 451

Summary 453

Exercises 453

Chapter 18: Configuring an FTP Server 455

Understanding FTP 455

Installing the vsftpd FTP Server 457

Starting the vsftpd Service 458

Securing Your FTP Server 461

Opening up your firewall for FTP 461

Configuring SELinux for your FTP server 463

Relating Linux file permissions to vsftpd 465

Configuring Your FTP Server 465

Setting up user access 465

Allowing uploading 467

Setting up vsftpd for the Internet 468

Using FTP Clients to Connect to Your Server 469

Accessing an FTP server from Firefox 470

Accessing an FTP server with the lftp command 470

Using the gFTP client 472

Summary 473

Exercises 473

Chapter 19: Configuring a Windows File Sharing (Samba) Server 475

Understanding Samba 475

Installing Samba 476

Starting and Stopping Samba 478

Starting the Samba (smb) service 478

Starting the NetBIOS (nmbd) name server 480

Stopping the Samba (smb) and NetBIOS (nmb) services 481

Securing Samba 482

Configuring firewalls for Samba 482

Configuring SELinux for Samba 484

Configuring Samba host/user permissions 486

Configuring Samba 486

Configuring the [global] section 486

Configuring the [homes] section487

Configuring the [printers] section 489

Accessing Samba Shares 493

Accessing Samba shares in Linux 493

Accessing Samba shares in Windows 496

Using Samba in the Enterprise 497

Summary 497

Exercises 498

Chapter 20: Configuring an NFS File Server 499

Installing an NFS Server 502

Starting the NFS service 502

Sharing NFS Filesystems 503

Configuring the /etc/exports file 504

Exporting the shared filesystems 507

Securing Your NFS Server 508

Opening up your firewall for NFS 508

Allowing NFS access in TCP wrappers 510

Configuring SELinux for your NFS server 511

Using NFS Filesystems 512

Viewing NFS shares 512

Manually mounting an NFS filesystem 512

Mounting an NFS filesystem at boot time 513

Using autofs to mount NFS filesystems on demand 517

Unmounting NFS filesystems 520

Summary 521

Exercises 521

Chapter 21: Troubleshooting Linux 523

Boot-Up Troubleshooting 523

Understanding Startup Methods 524

Starting from the firmware (BIOS or UEFI) 526

Troubleshooting the GRUB boot loader 528

GRUB 2 Boot loader 530

Starting the kernel 532

Troubleshooting Software Packages 542

Fixing RPM databases and cache 545

Troubleshooting Networking 547

Troubleshooting outgoing connections 547

Troubleshooting incoming connections 550

Troubleshooting Memory 553

Uncovering memory issues 554

Troubleshooting in Rescue Mode 559

Summary 561

Exercises 561

Part V: Learning Linux Security Techniques 563

Chapter 22: Understanding Basic Linux Security 565

Implementing Physical Security 565

Implementing disaster recovery 566

Securing user accounts 566

Securing passwords 570

Securing the filesystem 576

Managing software and services 579

Advanced implementation 580

Monitoring Your Systems 580

Monitoring log files 581

Monitoring user accounts 584

Monitoring the filesystem 587

Auditing and Reviewing Linux 595

Conducting compliance reviews 595

Conducting security reviews 596

Summary 596

Exercises 597

Chapter 23: Understanding Advanced Linux Security 599

Implementing Linux Security with Cryptography 599

Understanding hashing 600

Understanding encryption/decryption 602

Implementing Linux cryptography 610

Implementing Linux Security with PAM 618

Understanding the PAM authentication process 619

Administering PAM on your Linux system 622

Obtaining more information on PAM 633

Summary 633

Exercises 633

Chapter 24: Enhancing Linux Security with SELinux 635

Understanding SELinux Benefits 635

Understanding How SELinux Works 637

Understanding Type Enforcement 637

Understanding Multi-Level Security 638

Implementing SELinux security models 639

Configuring SELinux 645

Setting the SELinux mode 645

Setting the SELinux policy type 647

Managing SELinux security contexts 648

Managing SELinux policy rule packages 651

Managing SELinux via Booleans 653

Monitoring and Troubleshooting SELinux 654

Understanding SELinux logging 654

Troubleshooting SELinux logging 656

Troubleshooting common SELinux problems 657

Putting It All Together 659

Obtaining More Information on SELinux 659

Summary 660

Exercises 660

Chapter 25: Securing Linux on a Network 663

Auditing Network Services 663

Evaluating access to network services with nmap 665

Using nmap to audit your network services advertisements 668

Working with Firewalls 672

Understanding firewalls 673

Implementing firewalls 674

Summary 688

Exercises 688

Part VI: Engaging with Cloud Computing 691

Chapter 26: Shifting to Clouds and Containers 693

Understanding Linux Containers 694

Namespaces 695

Container registries 695

Base images and layers 696

Starting with Linux Containers 697

Pulling and running containers 697

Starting and stopping containers 701

Building a container image 702

Tagging and pushing an image to a registry 705

Using containers in the enterprise 706

Summary 706

Exercises 707

Chapter 27: Using Linux for Cloud Computing 709

Overview of Linux and Cloud Computing 710

Trying Basic Cloud Technology 713

Setting Up a Small Cloud 714

Configuring hypervisors 715

Configuring storage 718

Creating virtual machines 720

Managing virtual machines 724

Migrating virtual machines 725

Summary 727

Exercises 727

Chapter 28: Deploying Linux to the Cloud 729

Getting Linux to Run in a Cloud 729

Creating Linux Images for Clouds 731

Configuring and running a cloud-init cloud instance 731

Investigating the cloud instance 733

Cloning the cloud instance 734

Using cloud-init in enterprise computing 738

Using OpenStack to Deploy Cloud Images 739

Starting from the OpenStack Dashboard 739

Using Amazon EC2 to Deploy Cloud Images 744

Summary 746

Exercises 746

Chapter 29: Automating Apps and Infrastructure with Ansible 749

Understanding Ansible 750

Exploring Ansible Components 751

Inventories 751

Playbooks 752

Stepping Through an Ansible Deployment 753

Installing Ansible 756

Running Ad-Hoc Ansible Commands 760

Automating Tasks with Ansible Tower Automation Framework 762

Summary 763

Exercises 763

Chapter 30: Deploying Applications as Containers with Kubernetes 765

Understanding Kubernetes 766

Kubernetes masters 766

Kubernetes workers 767

Kubernetes applications 767

Kubernetes interfaces 768

Trying Kubernetes 768

Getting Kubernetes 769

Running the Kubernetes Basics tutorial 771

Enterprise-Quality Kubernetes with OpenShift 782

Summary 783

Exercises 783

Part VII: Appendixes 785

Appendix A: Media 787

Appendix B: Exercise Answers 797

Index 863