Project Phase1
Project Phase1
College of Engineering
Dept. of Computer Science & Eng. PBL Project Phase # 1 Fall 2024 Semester
Shell Scripting
Due 31 October 2024
وقد تصل عقوبة ھذه المخالفة فن بعض،یعد الغش مخالفة أكادیمیة وفقا للوائح والقوانین المعمول بھا فن جامعة قطر
الحاالتن إىل الفصل النھائن من الجامعة وعىل الطالب تجنب القیام أو المشاركة فن أي عمل یخالف میثاق الناھة االكادیمیة
.وإجراءات االختبارات المعمول بھا بجامعة قطر
Cheating is an academic violation according to Qatar University rules and regulations, and in
some cases, it may result in final dismissal from the University. Students should not under any
circumstances commit or participate in any cheating attempt or any act that violates student
code of conduct.
It is the right of the instructor to test the student’s undersetting of the project in any way during the
demo and discussion session. So, a project that is 100% working might be may be graded (-100%) due
to student not being able to explain a functionality they have implemented.
Project Objectives:
1. Server and Client Configuration on VM environments: Learn the basics of server setup,
including installation of SSH, and SFTP, along with client machine configuration for network
operations.
2. Security and User Authentication: Implement security measures by managing user access and
permissions, ensuring that only authorized users can perform specific tasks.
3. Network Services Automation: Automate common network engineer tasks, including network
configuration checks, system monitoring, and file management through shell scripting.
4. Practical Problem Solving: Apply theoretical knowledge to solve a practical problem faced by
network engineers, emphasizing the automation of repetitive tasks to improve efficiency and
accuracy.
Environment Setup:
• Virtual Machines: Use Ubuntu Desktop or Fedora Workstation for creating three VMs: VM1
(server), VM2 (client), and VM3 (client).
Tasks:
Server Side Tasks (VM1):
Task 1: Setup
Task 2: Configuration
[Note: if the network tools are not installed in the system, then, your shell script needs
to install first]
In addition to disk usage, show free and used memory percentage only, CPU Model, and the
number of CPU Cores. Save results in a log file (mem_cpu_info.log).
o Validate that SSH is installed and enabled (SSH is installed by default on most systems).
o Install an SFTP client.
o Ensure SCP (Secure Copy) is available for file transfers.
Task 2: Configuration
Client 1 (VM1)
Client 1 Side Shell script 1 (login.sh): Develop a login script to manage user credentials and perform
the following:
Check Script (Check.sh) will search for all files with permission 777, display them on the screen,
and then change them to 700. All work must be saved in a log file (perm_change.log).
Client 2 (VM2)
Client 2 Side Shell script 1: (Search.sh)
Search (Search.sh) will find the files in your account that are larger than 1M. Store results in a
file (bigfile) alon§g with the search date and the number of files found with that size. If the file
(bigfile) is not empty, from your script email (your email address [email protected]) the system
administrator a message about the contents of the bigfile.
2- Submit your scripts with the MS-Word document on the Blackboard in one zipped file no later
than the below due date