NETWORKING CATEGORY L T P CREDIT
20MCA136 & SYSTEM
PRACTICAL 0 1 3 2
ADMINISTRATION LAB
Preamble: This laboratory course is intended to provide the background knowledge required
for a software professional in the fields of networking and system administration. Students
will acquire necessary knowledge to deploy and administer systems.
Prerequisite: Basic understanding of computer programming, Internet and operating systems
Course Outcomes: After the completion of the course the student will be able to
CO 1 Install and configure common operating systems.
CO 2 Perform system administration tasks.
CO 3 Install and manage servers for web applications.
CO 4 Write shell scripts required for system administration.
CO 5 Acquire skill sets required for a DevOps.
Mapping of course outcomes with program outcomes
PO PO PO PO PO PO PO PO PO PO PO PO
1 2 3 4 5 6 7 8 9 10 11 12
CO 1 1 2 2
CO 2 1 2
CO 3 2 2
CO 4 2
CO 5 2 2
Assessment Pattern
Bloom’s Category Continuous Assessment Tests End Semester Examination
1 2
Remember(K1)
Understand(K2)
Apply(K3) 10 10 10
Analyse(K4) 10 10 10
Evaluate(K5) 10 10 10
Create(K6) 20 20 20
155
Mark distribution
Total Marks CIE ESE ESE Duration
100 50 50 3 hours
Continuous Internal Evaluation Pattern:
Maximum Marks: 50
Attendance 15%
Maintenance of daily lab record and GitHub management 20%
Regular class viva 15%
Timely completion of day to day tasks 20%
Tests/Evaluation 30%
End Semester Examination Pattern:
Maximum Marks: 50
Verification of Daily program record and Git Repository 5 marks
Viva 10 marks
Flowchart / Algorithm / Structured description
Problem solving of problem to explain how the problem can be 15%
(Based on solved / Interface Design
difficulty level, one Program correctness 50% 35 marks
or more questions Code efficiency 15%
may be given) Formatted output and Pushing to remote Git 20%
repository
Total Marks 50 marks
Course Level Assessment Questions
Course Outcome 1 (CO1):
1. Install latest version of Ubuntu on a virtual box, set up a static ip address to it and
install drupal environment.
2. You are given a computer with very low hardware resources. It is to be used as a kiosk.
Identify and install a suitable Linux distribution. You can simulate it in a virtual
environment.
156
Course Outcome 2 (CO2)
1. You are given a system which is connected to internet. However, users logging on to the
system are unable to access internet from their browser. Trouble shoot the issue,clearly
documenting the steps you have taken (Possible issues to look for are browser
configuration, network connectivity, routing, ip address configuration,DNS resolution)
2. You are given a system which boots to a non graphical environment. You are also given
a shell script which is designed for a specific task. Your task is to make sure that the script
runs every time the system boots up. Write/modify necessary scripts for this.
3. You are required to add 100 users to a Linux system. Details of the users to be added
were collected from a web form to a csv file. The csv may contain errors such as wrong
case or missing fields. Write a script to add users using the data provided in the csv file
with proper error checking.
Course Outcome 3(CO3):
1. You are given a bare bone installation of latest version Ubuntu. Assume that the system is
accessible from internet. Your task is to successfully install word press (or any other web
application) on this server. Clearly indicate the steps taken and software installed for this task.
2. Assume that you have an installation of old version Ubuntu. However, it does not have the latest
version of virtual box (or some other application). The new version is available as a binary on a
website. Upgrade to this version.
Course Outcome 4 (CO4):
[Link] at the system log files. Write a shell script to extract the last login details of a particular
user and list out all failed logins. Store the results to a file. The user name should be given as a
command line argument.
[Link] a shell script to display the details of a particular process currently running. Assume that
you have necessary permissions. The process name/id is to be given as a command line argument
Course Outcome 5 (CO5):
[Link] network traffic on your system. Using wireshark find out all http and https traffic to a
specific host.
[Link] an Ansible playbook to deploy a new Linux VM on a remote server.
Syllabus:
Introduction to Computer hardware. Study of various peripherals. Study of common
operating systems. File system organization in common operating systems.
157
Study of command line environment in common operating systems. Study of command line
tools for system administration.
Shell scripting: bash shell, shell scripts for system management.
Study of startup scripts.
Study of server software for common applications such as http, ftp, dns, dhcp.
Practical study of Ipv4 and Ipv6 networking protocols. Setting up firewalls.
Virtual machines and containers. Configuration and deployment.
List of Lab Experiments/Exercises
To gain proficiency in command line tools and operations, it is highly recommended to
use a terminal window instead of GUI tools. This will later help the student with latest
approaches in maintaining cloud based infrastructure. virtualbox/quemu. may be used for
this.
1. Introduction to Computer hardware: Physical identification of major components of a
computer system such as mother board, RAM modules, daughter cards, bus slots, SMPS,
internal storage devices,i nterfacing ports. Specifications of desktop and server class
computers. Installation of common operating systems for desktop and server use. (Students
may be asked to formulate specification for computer to be used as Desktop, Web server)
2. Study of a terminal based text editor such as Vim or Emacs. (By the end of the course,
students are expected to acquire following skills in using the editor: cursor operations,
manipulate text, search for patterns, global search and replace)
Basic Linux commands, familiarity with following commands/operations expected
1. man
2. ls, echo, read
3. more, less, cat,
4. cd, mkdir, pwd, find
5. mv, cp, rm ,tar
6. wc, cut, paste
7. head, tail, grep, expr
8 chmod, chown
9. Redirections & Piping
10. useradd, usermod, userdel, passwd
11. df,top, ps
12 ssh, scp, ssh-keygen, ssh-copy-id
.
3. File system hierarchy in a common Linux distribution, file and device permissions, study
of system configuration files in /etc, familiarizing log files for system events, user activity,
network events.
4. Shell scripting: study bash syntax, environment variables, variables, control constructs such
as if, for and while, aliases and functions, accessing command line arguments passed to shell
158
scripts. Study of startup scripts, login and logout scripts, familiarity with systemd and
system 5 init scripts is expected.
5. Installation and configuration of LAMP stack. Deploy an open source application such as
phpmyadmin and Wordpress.
6. Installation and configuration of common software frame works such as Laravel. (Student
should acquire the capability to install and configure a modern framework)
7. Build and install software from source code, familiarity with make and cmake utilities
expected.
8. Introduction to command line tools for networking
IPv4 networking, network commands: ping route traceroute, nslookup, ip. Setting up static
and dynamic IP addresses. Concept of Subnets, CIDR address schemes, Subnet masks,
iptables, setting up a firewall for LAN, Application layer (L7) proxies.
9. Analyzing network packet stream using tcpdump and wireshark. Perform basic network
service tests using nc.
10. Introduction to Hypervisors and VMs, Xen or KVM , Introduction to Containers: Docker,
installation and deployment.
11. Automation using Ansible: Spin up a new Linux VM using Ansible playbook
159