ABOUT COMPANY
CUSTOMIZED TRAININGCONDUCTED
500 + Trainings approx. 5000 Hrs.
(Networking, Security, Telecom, Wireless,
Cloud, Programming )
Consulting, Deploying & Maintaining
end-to-end Network Security Audit,
Compliance, Penetration Testing and Training
Services.
OUR SKILLS
FOUNDATION
2023
TOTAL EXPERIENCE
16+ Yrs. in Cyber Security,
Software Development,
Training.
To provide the best
cyber security to our
clients
OUR GOAL
TEAM SIZE
10+ Employees
PROJECTS HANDLED
20+ in Cyber Security,
Software Development
3.
INDEX
Module 1: Introductionto Linux
Module 2: Linux Installation and Basic Configuration
Module 3: File System Management
Module 4: Command-Line Interface
Module 5: User and Group Management
Module 6: Networking in Linux
Module 7: Linux Security
Module 8: System Administration Tools and Utilities
4.
Module 1: Introductionto Linux
Overview of Linux and its History:
Linux is an open-source operating system kernel initially created by Linus Torvalds in 1991. It is based on
the Unix operating system.
Linux is distributed under the GNU General Public License, which allows users to view, modify, and
distribute the source code freely.
The history of Linux dates back to the early 1990s when Linus Torvalds, a Finnish computer science
student, began developing the kernel as a hobby project.
The collaborative efforts of developers worldwide have led to the evolution of Linux, making it a robust
and versatile operating system.
5.
Operating System:
An OperatingSystem (OS) is a collection of software that manages computer hardware resources and provides
common services for computer programs.
The operating system is the most important type of system software in a computer system.
It basically manages all the resources of the computer.
An operating system acts as an interface between the software and different parts of the computer or the
computer hardware.
The operating system is designed in such a way that it can manage the overall resources and operations of the
computer.
It controls and monitors the execution of all other programs that reside in the computer, which also includes
application programs and other system software of the computer.
Examples of Operating Systems are Windows, Linux, Mac OS, etc.
6.
Structure Of LINUXOperating System:
An operating system is a collection of software, each designed for a specific function.
Linux OS has following components:
1) Kernel
2) System Libraries
3) System Tools
4) Development Tools
5) End User Tools
7.
LINUX vs. Windows
ParameterLinux Windows
Access Users can access the source code of kernel in Linux and can alter the
kernel according to need.
Usually, users cannot access the source code. However, members of some groups can
have access to it.
Variety Linux has several distributions that are highly customizable. Windows have fewer options to customize.
Command-line The command line usually referred to as Terminal, which is the most
useful tool of the Linux system. It used for administration and daily tasks.
For the end-users, it does not look so effective.
Windows also have a command line, but it is not such effective as a comparison to the
Linux terminal. Most users prefer the GUI options for daily tasks.
Installation The Linux installation process is a bit complicated to set up as it requires
many user inputs. It takes less time than Windows to install.
Windows OS is easy to install and set up on a machine; it requires fewer user input
options during installation. However, it takes more time to install as compared to Linux.
Ease of use The Linux OS is meant to be for the technical user because you must have
some exposure to various Linux commands. Users may take more time to
be a handy user of Linux. The troubleshooting process is also complicated
as compared to Windows.
Windows comes with simple and rich GUI options, so it is easy to use it. It can be simply
used by technical as well as non-technical users. The troubleshooting process is also
much easy than Linux.
Reliability Linux is highly reliable and secure. It has well-established system security,
process management, and uptime.
Windows is not as much reliable as Linux. However, now Windows has improved
reliability but still has some security weaknesses and system instabilities.
Support Linux has agood support as it has a huge community of user forums and
online search.
Windows also provide good support to its user. It provides free as well as paid support. It
has an easily accessible online forum.
Security Linux OS is more secure than Windows. It is hard for the hackers and
attackers to find a loophole in it. So, Linux is hard to breakthrough.
Windows is less secure than Linux. Attackers primarily target the Windows for malware
and virus. Windows is most vulnerable without anti-virus.
License Linux is distributed under the GPL(GNU General Public License) license. Windows is distributed under a Proprietary commercial software license.
8.
Linux Distributions andPackage Management:
A Linux distribution is a complete operating system package that includes the
Linux kernel, system utilities, software, and package management tools.
Various Linux distributions are available, catering to different user needs and
preferences. Examples include Ubuntu, Fedora, Debian, CentOS, and Arch Linux.
Package management systems help users install, update, and remove software
packages easily. Each distribution typically has its package manager:
Debian-based distributions use apt (Advanced Package Tool) or apt-get.
Red Hat-based distributions use dnf (Dandified Yum) or yum.
Arch Linux uses pacman.
9.
Understanding the LinuxFile System Hierarchy:
The Linux file system follows a hierarchical structure with a single root represented by /.
Key directories include:
/bin: Essential user binaries (commands) available to all users.
/etc: Configuration files for system-wide settings.
/home: Home directories for regular users.
/var: Variable data that changes frequently, such as logs and spool files.
/proc: A virtual file system containing information about running processes.
/dev: Device files representing hardware devices.
/usr: User-related programs and data, including user binaries and documentation.
/tmp: Temporary files that are usually cleared on reboot.
10.
Introduction to Open-SourceSoftware:
Open-source software (OSS) refers to software whose source code is made available to the public,
allowing anyone to view, modify, and distribute it.
The Open Source Initiative (OSI) defines open-source software through a set of principles, including free
distribution, access to the source code, and allowing derived works.
Many Linux distributions and applications are open-source, promoting collaboration, transparency, and
innovation.
Examples of popular open-source software include the Linux kernel, Apache web server, Mozilla Firefox,
LibreOffice, and GIMP (GNU Image Manipulation Program).
11.
Features of LINUX
Multiusercapability: Multiple users can access the same system resources like memory, hard disk, etc. But they have to use different
terminals to operate.
Multitasking: More than one function can be performed simultaneously by dividing the CPU time intelligently.
Portability: Portability doesn't mean it is smaller in file size or can be carried in pen drives or memory cards. It means that it support
different types of hardware.
Security: It provides security in three ways namely authenticating (by assigning password and login ID), authorization (by assigning
permission to read, write and execute) and encryption (converts file into an unreadable format).
Live CD/USB: Almost all Linux distros provide live CD/USB so that users can run/try it without installing it.
Graphical User Interface (X Window system): Linux is command line based OS but it can be converted to GUI based by installing packages.
Support's customized keyboard: As it is used worldwide, hence supports different languages keyboards.
Application support: It has its own software repository from where users can download and install many applications.
File System: Provides hierarchical file system in which files and directories are arranged.
Open Source: Linux code is freely available to all and is a community based development project.
12.
Module 2: LinuxInstallation
Preparing for Installation:
Check system requirements: Ensure that the computer meets the minimum hardware specifications for
the chosen Linux distribution.
Backup data: It's essential to back up any important data before starting the installation process.
Selecting a Linux distribution: Choose the distribution that best suits your needs and familiarity with Linux.
Downloading the ISO image: Obtain the installation image (ISO file) for the selected distribution from its
official website.
13.
Installation Methods andOptions:
Installation media: Create a bootable installation media, such as a DVD or USB drive, using the
downloaded ISO image.
Installation process: Boot the computer from the installation media and follow the on-screen instructions
to start the installation process.
Installation options: During the installation, you'll be prompted to select various options, including
language, keyboard layout, partitioning, and network settings.
14.
Post-installation Configuration andSystem
Updates:
Setting up users and passwords: Create a user account and set the root password (administrator account).
Package updates: After installation, it's crucial to update the system to ensure you have the latest security
patches and software versions. This can be done using the package manager of your distribution (e.g., apt,
dnf, pacman).
Driver installation: Install any necessary drivers for hardware components that require proprietary drivers,
such as graphics cards or wireless adapters.
15.
Boot Process andManaging Services:
Bootloader: Understand the concept of a bootloader (e.g., GRUB)
responsible for loading the operating system during startup.
Managing services: Learn how to start, stop, and enable/disable
system services that run in the background. You can use commands
like systemctl (systemd) or service (SysV init) to manage services.
Viewing logs: Familiarize yourself with log files located in the /var/log
directory to troubleshoot system issues and monitor system events.
16.
Module 3: FileSystem Management
Understanding File Systems in Linux:
Linux supports various file systems, each with its
own characteristics and features.
Commonly used file systems in Linux include ext4
(the default for many distributions), XFS, Btrfs, and
others.
Different file systems have varying performance,
scalability, and advanced features like snapshots and
encryption.
17.
Working with Files,Directories, and Permissions:
Creating files and directories: Use commands like touch to create files and mkdir to create directories.
Deleting files and directories: Remove files with rm and directories with rmdir or rm -r (recursive).
Renaming and moving: Use mv to rename files or move them to different locations.
18.
File Ownership andPermissions Management:
Each file and directory in Linux has an owner and a group associated with it.
Permissions: Linux file permissions are represented by read (r), write (w), and execute (x) for the owner,
group, and others.
chmod: Use this command to change permissions on files and directories.
chown: Use this command to change the owner of a file or directory.
chgrp: Use this command to change the group ownership of a file or directory.
19.
Managing Links, HardLinks, and Symbolic Links:
Hard links: These are multiple directory entries pointing to the same
inode (file data) on the disk. Changes to one hard link affect all other
hard links since they point to the same data.
Symbolic links (symlinks): Also known as soft links, these are special
files that point to the path of another file or directory. If the original
file is moved or deleted, the symlink will break.
Creating links: Use ln to create hard links and ln -s to create symbolic
links.
Identifying links: The ls command with the -l option shows the
number of hard links a file has.
20.
Module 4: Command-LineInterface
Introduction to the Linux Shell:
The Linux shell is a command-line interface that allows users to interact with the operating system by
executing commands.
Common shells in Linux include Bash (Bourne Again Shell), Zsh, and Fish.
Shells provide features like command history, tab completion, and scripting capabilities.
21.
Working with BasicCommands and Utilities:
Basic commands: Learn fundamental commands such as ls (list files and directories), cd (change
directory), pwd (print working directory), cp (copy), mv (move), rm (remove), and mkdir (make directory).
File manipulation: Perform tasks like viewing file contents using cat or less, searching through files with
grep, and comparing files with diff.
System information: Use commands like uname, top, free, and
df to gather information about the system's hardware and resources.
22.
Shell Scripting andAutomation:
Shell scripting: Write scripts using shell commands and control structures (loops, conditionals) to automate tasks and create
custom commands.
Shebang: Start scripts with a shebang (e.g., #!/bin/bash) to specify the shell interpreter.
Execution permissions: Make scripts executable using chmod +x to run them directly from the command line.
Variables and arguments: Use variables (e.g., VAR="Hello") and command-line arguments to pass data to scripts.
Conditional statements: Implement decision-making in scripts using if, else, and elif.
Loops: Use for and while loops for repetitive tasks.
23.
File Manipulation andRedirection:
Input/output redirection: Use symbols like > (output) and < (input) to redirect data between files and
commands.
Pipes: Connect multiple commands using the | symbol to pass the output of one command as input to
another.
Append and create files: Use >> to append data to a file, and touch to create empty files.
24.
Module 5: Userand Group Management
Managing User Accounts and Groups:
User management: Learn how to create new user accounts using the useradd command and manage
existing accounts with tools like usermod (modify user) and userdel (delete user).
Group management: Understand how to create groups with groupadd, modify existing groups with
groupmod, and delete groups with groupdel.
25.
User Authentication andPassword Policies:
User authentication: Study the authentication mechanisms in Linux, including password-based
authentication and key-based authentication using SSH (Secure Shell).
Password policies: Configure password policies such as minimum password length, password expiration,
and password complexity requirements using tools like pam_pwquality.
26.
File Ownership andPermissions for Users and
Groups:
File ownership: Understand how to change the owner and
group of a file or directory using chown and chgrp.
File permissions: Learn how to set file permissions using
symbolic notation (e.g., chmod u+rwx file) or octal notation
(e.g., chmod 755 file).
Special permissions: Explore setuid, setgid, and sticky bit
permissions for executing files and directories.
27.
Implementing Access ControlLists (ACLs):
Standard permissions limitations: Understand the limitations of the standard file permissions (owner,
group, others) and how they may not cover all access scenarios.
Access Control Lists (ACLs): Learn about ACLs, which provide a more granular level of access control by
allowing additional permissions for specific users and groups.
getfacl and setfacl: Use commands like getfacl to view ACLs on files and directories, and setfacl to modify
ACLs.
28.
Module 6: Networkingin Linux
Network Configuration and Troubleshooting:
Network interfaces: Understand how to configure network interfaces using tools like ifconfig, ip, or nmtui.
Network Manager: Learn about Network Manager, a utility that simplifies network configuration with a
user-friendly interface.
Troubleshooting: Explore common networking issues and how to diagnose and resolve them using tools
like ping, traceroute, and netstat.
29.
TCP/IP Fundamentals:
TCP/IP protocolsuite: Understand the basics of the Transmission Control Protocol (TCP) and Internet
Protocol (IP), the foundation of modern networking.
IP addressing: Learn about IPv4 and IPv6 addressing, subnetting, and CIDR notation.
Routing: Understand how routers forward packets between networks based on their IP addresses.
30.
Configuring Network Services:
DNS(Domain Name System): Learn how to configure DNS servers and clients to resolve domain names to
IP addresses using tools like resolv.conf.
DHCP (Dynamic Host Configuration Protocol): Configure DHCP servers to automatically assign IP addresses
and network settings to clients.
31.
Network File Sharing:
NFS(Network File System): Set up NFS to share files and directories between Linux systems in a network.
Samba: Configure Samba to enable file and printer sharing between Linux and Windows systems.
32.
Module 7: LinuxSecurity
Securing the Linux System:
Firewall: Learn how to set up and configure a firewall (e.g., iptables, firewalld) to control incoming and
outgoing network traffic.
SELinux (Security-Enhanced Linux): Understand how SELinux enforces mandatory access controls to
restrict the actions of users and processes.
33.
User Authentication andAuthorization:
Password policies: Review password policies to enforce strong passwords and regular password changes.
Two-factor authentication (2FA): Implement 2FA to add an extra layer of security to user authentication.
SSH security: Configure SSH (Secure Shell) to ensure secure remote access.
34.
File System Encryptionand Data Security:
Disk encryption: Learn how to encrypt disks or partitions (e.g., using LUKS)
to protect data at rest.
File encryption: Explore file-level encryption tools (e.g., GPG) to secure
sensitive files and communication.
Secure data deletion: Understand secure data wiping methods to ensure
data cannot be easily recovered after deletion.
35.
Intrusion Detection andPrevention:
Intrusion Detection Systems (IDS): Set up IDS tools like Snort or Suricata to monitor network traffic for
suspicious activities and potential security breaches.
Intrusion Prevention Systems (IPS): Configure IPS tools to actively block and prevent potential threats.
36.
Module 8: SystemAdministration Tools
and Utilities
System Monitoring and Performance Analysis:
System monitoring: Learn about tools like top, htop, and glances to monitor system resource usage,
including CPU, memory, and disk usage.
Process management: Use commands like ps, pgrep, pkill, and kill to manage processes and troubleshoot
system slowdowns.
Performance analysis: Use tools like vmstat, iostat, and sar to analyze system
performance over time and identify performance bottlenecks
37.
Backup and RestoreStrategies:
Backup types: Understand different backup strategies such as full, incremental, and differential backups.
Backup tools: Explore backup tools like tar, rsync, and dump to create backups of files and directories.
Restoring data: Learn how to restore data from backups to recover lost or corrupted files.
38.
Package Management andSoftware Updates:
Package management systems: Review package management systems (e.g., apt, dnf, pacman) to install,
update, and remove software packages.
Updating the system: Understand how to update the entire system or specific packages to ensure the
latest security patches and bug fixes are applied.
Dependency resolution: Learn how package managers
handle dependencies, ensuring that all required software
components are installed correctly.