معرفی کتاب Linux Bible, 10th Edition
با سلام خدمت همراهان همیشگی فرکیان تک. با شما هستیم با کتاب 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