# System Engineer-(Rhcsa + Rhce)

## Basic Commands / Structure

* Navigating the Filesystem using linux commands
* Managing files using commands (cat,find,chmod)
* System Monitoring and Management
* Managing and configuring Network through Commands
* Package management on Red Hat-based system (yum,rpm,dnf)
* File compression and archiving (tar, gzip, zip, unzip)
* Ubuntu Installation Commands
* Installation 3 methods
* Rhel 6 7 8 9 distinguish

### Editor - Vi/Vim,Nano

* Nano editor,Vi/Vim Editors
* Editing files in insert mode
* Understanding visual mode
* Difference between vi and vim
* Understanding how to Navigate around files
* Command abbreviation
* performing backup and recovery
* opening multiple file tabs

### Runlevels

* Role of runlevels in system boot and shutdown.
* omparison of SysVinit and Systemd.
* Rebooting the system using runlevels..
* Changing runlevels using init cmd

### Ownership & Permission

* Creating and managing user accounts and their groups
* Securing sensitive files and directorsie
* Differences between traditional permissions and ACLs.
* Symbolic notation (Reading and interpreting permission symbols).
* Implementing least privilege for users and groups.
* Troubleshooting Permissions Issues.

### Find/Locate/Grep

FIND

* Basic File Searching with find
* Searching by file type (directories,regular files and Filtering)
* Advanced File Searching with find

Locate

* Locating Files with locate
* Limiting search to specific directories,Filtering search results
* Executing commands on search results

Grep

* Searching Inside Files with grep(Searching for text patterns,searching in multiple files,searching in different files)
* Recursive searching in directories
* Searching system logs (finding error messages,filtering log entries)

### Backup Folders and Files Using Cp,mv and Rsync

* Copying multiple files and directories Using Cp command
* Backing up data to external storage Using Rsync
* Synchronizing directories (Local and remote synchronization.)
* Handling large directory structures efficiently Using Mv Command
* Migrating data between disks or partitions.

### FSH - File System Hierarchy

* Understanding the root directory (/):Role and significance,Root directory structure.
* /bin and /sbin directories and differences between them
* System Directories and their protocols(/-root and /tmp-temporary files storage )
* Virtual filesystems for process and system information
* Understanding differences between distributions
* Package management and its impact on FSH
* Understanding Links and Mount Points
* Differences between symbolic and hard links
* Creating and managing links
* Mounting and unmounting filesystem

### Symlinks & Hardlinks

* Differences between hard links and symbolic (soft) links.
* Advantages and use cases of hard and symbolic links
* Characteristics of hard links (Shared Inode Numbers,Same Physical Files etc)
* Modifying and deleting hard-linked files
* Finding and fixing broken symbolic links

### Fdisk - Disk Manage

* Understanding Disk Devices in Linux
* Command-line options and arguments
* Partitioning Disks with fdisk (Primary partitions,Extended partitions)
* Partition Management with fdisk
* Resizing existing partitions
* Converting partition table types
* persisting it in fstab

### Advance Permission

* Access Control Lists (ACLs):(Setting ACLs using setfacl,Modifying and removing ACL entries,Managing default ACLs)
* Extended Attributes
* Understanding of changing attributes (chattr)
* Setting special permissions using chmod
* understanding purpose and significance of setui,setgid and sticky bit
* Using default permissions and umask
* Interaction between encryption and file permissions
* Automating permission management tasks

### Sudoers

* Location and structure of the sudoers file.
* Granting sudo(root) access to a user.
* Managing group-based permissions with sudo.
* Understanding Cmnd\_Alias, User\_Alias, Host\_Alias, and Runas\_Alias
* Restricting specific commands for users.

### Umask & Path

Umask

* Understanding umask notation (octal vs symbolic)
* Calculating effective permissions using umask
* Setting and Modifying Umask
* Permanent and temporary umask changes
* Calculating effective permissions using umask

Path

* How PATH is used to locate executable files (Absolute and relative path)
* Managing the PATH Variable
* Removing directories from the PATH
* Setting PATH for all users and individual users
* Identifying common issues related to umask and PATH
* Debugging problems with umask and PATH configuration

### Process & Daemons

Process

* Managing Processes using (Pid)
* Listing processes Using ps command
* Identifying resource usage (CPU, memory, etc.)
* Sending signals to processes (kill command)
* Process Management and Job Control
* Monitoring processes (top,htop)
* Server health check
* monitor server cpu memory load

Daemons

Daemon Management and Configuration

* Using systemctl to manage systemd servic
* Troubleshooting daemon startup issues
* Init systems and daemon management (systemd, cron)

Cron

* Managing Cron Jobs Using (crontab) command
* Used to run scripts
* Syntax for specifying time intervals
* Backing up Cron configurations
* Troubleshooting Cron Issues

### Archive & Compression

* File Archiving with tar and zip
* Compression with gzip and bzip2
* Advanced Compression Techniques
* Archive and Compression Tools Comparison
* Compression Formats and Compatibility
* Security implications of compression
* Creating and extracting compressed archives for different use cases

### Shell Scripting

* Using scripts in bash shell
* Script file permissions and execution
* Control Structures (if -else constructs)
* Looping constructs (for-loop,while-loop)
* File and Directory Handling
* String Manipulation
* Concatenation and substrings
* Error Handling and Debugging
* Using pipes to connect commands

### Networking

* Configuring Network Interfaces (ifconfig,ip command)
* Configuring network settings in linux files
* Automating and Managing Network Connections
* Configuring DNS servers
* Configuring hostname resolution
* Understanding network routing concepts
* Configuring hostname resolution
* Understanding NAT concepts
* Network Monitoring and Troubleshooting
* Troubleshooting Hostname /etc/hosts , /etc/resolv.conf
* Gateway,Routes,Subnets,Aliasing

### Ports & Protocol

* Understanding Ports and Protocols
* Common network protocols (TCP, UDP, ICMP, etc.)
* Network troubleshooting and diagnostics
* Port Scanning and Services Identification
* Security considerations when opening ports
* Common network services and their default ports (e.g., SSH, HTTP, FTP)

### Rpm

* Components of an RPM package
* RPM Package Management
* Querying RPM Packages
* Setting up a RPM build environment
* RPM package scripting
* Creating RPM package repositories
* Features and advantages of yum over traditional package

### Yum

* Features and advantages of yum over traditional package management methods
* Installing and removing packages with yum
* Configuring yum repositories
* Resolving dependency issues with yum
* Advanced yum Commands
* Understanding yum configuration files
* Troubleshooting with yum
* Automating package installations and updates with yum

### Lvm

* LVM Components - (Physical Volumes (PV), Volume Groups (VG) Logical Volumes (LV)
* Configuring Physical Volumes (PV)
* Creating Volume Groups (VG) - (Modifying volume groups (resizing, adding/removing physical volumes)
* LVM and Disk Management- (Moving logical volumes between volume groups, Splitting and merging volume groups)
* Resizing Logical Volumes - (Extending LVs: lvextend, Reducing LVs: lvreduce)
* Adding Disks with VolumeGroup
* Lvm Remove Pv(Physical Volume),vg(Volume Group),Lv(Logical Volume).<br>
* User Management
* Types of Users (System Users, Regular User, Root User and Superuser Privileges)
* User and Group Identifiers- (UID (User ID) and GID (Group ID)
* Adding and Deleting Users
* Modifying User Accounts
* Managing User PasswordM
* Understanding Groups - (Primary and Secondary Groups)
* Advance permissions - (SUID, SGID, STICKY BIT)

### Boot Process

* BIOS/UEFI Initialization
* Configuration files for boot loaders
* Kernel initialization process
* Kernel parameters and their significance
* Service management and dependency resolution
* Troubleshooting GRUB configuration errors
* Recovery options and rescue environments
* Analyzing boot logs and diagnosing boot issues

### Troubleshooting

* Kernel Boot Problems-(Kernel Panics,Rescue mode)
* Bootloader Issues - (GRUB Configuration)
* Filesystem Errors and Repair - (Identifying Disk Issues Checking and Repairing Filesystems: fsck)
* Ctrl D Maintenence Mode

### Selinux

* Understanding SELinux policies
* SELinux Configuration
* SELinux Troubleshooting
* SELinux Modes - (Enforcing, Permissive, and Disabled)
* SELinux Policies-(Targeted, Minimum, MLS (Multi-Level Security)
* Key Components and Configuration Files.
* Configuration in files permission

### Ntp

* Basics of time synchronization
* NTP operation modes(Client mode,Server mode)
* Managing NTP service
* High Availability and Redundancy
* Starting and Stopping NTP Service
* Monitoring NTP Service (NTP Queries: ntpq, ntpstat)

### SSH

* Installing and Configuring SSH
* Connecting to Remote Systems
* SSH Key Management- (Generating SSH Keys: ssh-keygen, Copying Public Keys to Remote Systems)
* Enhancing SSH Security - (Disabling Root Login, Configuring AllowUsers and DenyUsers)

### Ansible Basic

* Ansible Configuration
* Running ad-hoc commands with Ansible
* Ansible Modules
* Variable precedence
* Playbook Execution and Testing
* Ansible Playbooks (10 Playbooks)
* Working with YAML
* Securing Ansible control node and managed nodes
* Limiting access to Ansible control node
* Securing sensitive data in playbooksM
* Hosts and groups configurations
* Inventory file for Multiple Servers
* Creating and using roles in Ansible playbooks
* Encrypting and decrypting files with Ansible Vault
* Ansible Galaxy
* Organizing playbooks using roles
* Ansible Roles and Handlers

### NFS

* Implement Network file Sharing
* Granting permisson to clients
* Mounting from Linux Client
* Mount Persistent
* Rpc Access

### FTP

* File transfer protocol
* Installing Vsftpd Service
* Accessing files from client ftp-browser
* Granting permisson to Ftp
* Active-Passive  Ftp
