REPUBLIC OF RWANDA
KIGALI INDEPENDENT UNIVERSITY (ULK)
Website://www.ulk.ac.rw
E-mail: ulk@rwandatel.com
P.O Box 2280
SYSTEM ADMINISTRATION WITH LINUX
GROUP-WORK N0
2
 ROLL NUMBER:
 202420890
 202420379
 202420844
 Department: S.E
 CLASS: YEAR 2/S. E/Day
 Module: system Administration with Linux
 18/11/2025
Academic Year: 2025-2026
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
2
PROJECT REPORT - LINUX SYSTEM ADMINISTRATION
GENERAL INFORMATION
Detail Information
|Institution : Kigali Independent University ULK
| School : School of Science and Technology
| Department : Software Engineering
| Module : System Administration with Linux
| Lecturer : NTIRENGANYA Jean Paul
| Project Date : May 19-23, 2025
| Duration :2 days
| Total Marks : …………………….
PROJECT TEAM
Role Roll Number Name
Team Leader 202420890 Vahid
Member 1 202420379 Anna
Member 2 202420844 Juges Mulamba
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
3
Contents
PROJECT OBJECTIVES..................................................................................................................................................4
Task 1.: USER AND PERMISSION MANAGEMENT..............................................................................................5
Task 2.: DNS SERVER CONFIGURATION ............................................................................................................11
INDIVIDUAL CONTRIBUTIONS .................................................................................................................................20
CHALLENGES FACED AND SOLUTIONS ................................................................................................................ 21
SKILLS AND COMPETENCIES DEVELOPED..........................................................................................................22
CONCLUSION AND RECOMMENDATIONS ............................................................................................................23
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
4
PROJECT OBJECTIVES
Task 1.: User and Permission Management
 Linux user creation and management
 File access permission configuration
 Directory structure and tree management
Task 2.: DNS Server Configuration
 BIND9 installation and configuration
 DNS zone creation for local and public domains
 DNS resolution testing
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
5
Task 1.: USER AND PERMISSION MANAGEMENT
1. Directory Structure Created
2. Commands Used and Their Significance
a. User Creation
bash
- sudo useradd --badname -m -s /bin/bash 202420890
Significance:
- `sudo`: Execute as superuser
- `useradd`: User creation command
- `--badname`: Allows usernames starting with numbers
- `-m`: Creates user home directory
- `-s /bin/bash`: Sets bash as default shell
- `202420890`: Username (roll number)
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
6
b. Password Management
bash
- sudo passwd 202420890
Significance:
- `passwd`: Password modification command
- Interactive: Asks for new password twice for confirmation
c. Directory Creation
bash
- mkdir VahidJugesAnna
Significance:
- `mkdir`: Make Directory - creates new directory
- `VahidJugesAnna`: Group directory name
d. Permission Management
bash
- chmod 700 VahidJugesAnna
- setfacl -m u:202420379:rx /home/202420890/VahidJugesAnna/202420379
- setfacl -m u:202420844:rx /home/202420890/VahidJugesAnna/202420844
Significance:
- `chmod 700`: Gives all permissions to owner, none to others
- `setfacl`: Set File Access Control Lists
- `-m u:202420379:rx`: Gives read/execute permissions to user 202420379
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
7
e. Results Obtained - Task 1 in practical
 3 users created with their home directories
 Directory tree structure established
 Member files created with specific content
 Permissions correctly configured
 Each member has access only to their subdirectory
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
8
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
9
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
10
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
11
Task 2.: DNS SERVER CONFIGURATION
1. DNS Architecture Implemented
- Local domain: `vaj.local`
- Public domain: `vaj.com`
- DNS Server: BIND9 on Ubuntu Server 24
- IP Address: 10.0.2.15
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
12
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
13
2. Commands Used and Their Significance
a. BIND9 Installation
bash
- sudo apt install bind9 bind9utils bind9-doc -y
Significance:
- `apt install`: Debian/Ubuntu package manager
- `bind9`: Main DNS server
- `bind9utils`: Utilities for BIND9
- `bind9-doc`: BIND9 documentation
- `-y`: Automatic confirmation for installations
b. DNS Zone Configuration
bash
- sudo nano /etc/bind/named.conf.local
Content:
bash
zone "vaj.local" {
type master;
file "/etc/bind/db.vaj.local";
};
zone "vaj.com" {
type master;
file "/etc/bind/db.vaj.com";
};
Significance:
- `zone`: DNS zone declaration
- `type master`: Authoritative server for the zone
- `file`: Zone definition file
c. Zone File Creation
bash
- sudo cp /etc/bind/db.local /etc/bind/db.vaj.local
Significance:
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
14
- `cp`: Copy - copies a file
- Using template file as base
d. Configuration Validation
bash
- sudo named-checkconf
- sudo named-checkzone vaj.local /etc/bind/db.vaj.local
Significance:
- `named-checkconf`: Checks main configuration syntax
- `named-checkzone`: Validates specific zone file syntax
e. BIND9 Service Management
bash
- sudo systemctl restart bind9
- sudo systemctl status bind9
Significance:
- `systemctl`: Systemd service controller
- `restart`: Restarts the service
- `status`: Displays service status
f. DNS Testing
bash
dig @10.0.2.15 host1.vaj.local
Significance:
- `dig`: Domain Information Groper - DNS query tool
- `@10.0.2.15`: Queries specified DNS server
- `host1.vaj.local`: Domain name to resolve
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
15
3. Configured Zone Files
a. db.vaj.local:
bash
$TTL 604800
@ IN SOA vaj.local. admin.vaj.local. (
5 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.vaj.local.
@ IN A 10.0.2.15
ns IN A 10.0.2.15
host1 IN A 10.0.2.15
Record Significance:
- `TTL`: Time To Live - record cache duration
- `SOA`: Start of Authority - zone authority information
- `NS`: Name Server - authoritative DNS server
- `A`: Address - name to IPv4 mapping
SOA Parameters:
- Serial: Version number (incremented with each modification)
- Refresh: Secondary server refresh interval
- Retry: Retry delay after failure
- Expire: Data expiration duration
- Negative Cache TTL: Negative response cache duration
4. Results Obtained - Task 2 and practice
- BIND9 server installed and configured
- DNS zones created for vaj.local and vaj.com
- Functional DNS resolution for both domains
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
16
- Successful DNS query tests
- Operational and stable DNS service
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
17
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
18
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
19
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
20
INDIVIDUAL CONTRIBUTIONS
a. Vahid (202420890) - Team Leader
- Overall project coordination
- User and permission configuration
- Directory and tree structure management
- Final testing and validation
b. Anna (202420379) && Vahid (202420890)
- Command research and documentation
- Initial BIND9 configuration
- Zone file creation
- DNS resolution testing
c. Juges Mulamba (202420844)
- System package installation
- Network configuration
- Configuration file validation
- Procedure documentation
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
21
CHALLENGES FACED AND SOLUTIONS
Challenge 1. Numeric Usernames
Problem:
- `useradd: invalid user name '202420379'`
Solution:
- Using `--badname` option
Challenge 2. Incorrect DNS Configuration
Problem:
- NXDOMAIN responses to DNS queries
Solution:
- Correcting zone files and adding missing A records
Challenge 3. Incorrect IP Addressing
Problem:
- Using 192.168.1.10 instead of actual IP 10.0.2.15
Solution:
- Identifying real IP and updating configurations
Challenge 4. BIND Service Not Operational
Problem:
- Service startup failure
Solution:
- Syntax validation and configuration file correction
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
22
SKILLS AND COMPETENCIES DEVELOPED
1. Technical Skills
- Advanced Linux user administration
- Fine-grained permission management (ACL)
- DNS service configuration and management
- Network problem diagnosis and resolution
- Administration task automation
2. Methodological Skills
- Teamwork and task distribution
- Professional technical documentation
- Project management according to specifications
- Structured oral presentation
System Administration with Linux
Team: 202420890, 202420379, 202420844 VAHID IDRISS
23
CONCLUSION AND RECOMMENDATIONS
1. Project Summary
The project was successfully completed, implementing a fully administered Linux environment with:
- Secure user and permission management
- Functional DNS name resolution service
- Complete and professional documentation
2. Improvement Recommendations
a. Implement automation via shell scripts
b. Add advanced security (SELinux/AppArmor)
c. Set up service monitoring
d. Document backup procedures
3. Evolution Perspectives
- Extension to DHCP configuration
- Integration with web services
- High availability implementation
- Automation via Ansible/Puppet
Submission Date: November 20, 2025
Team: 202420890, 202420379, 202420844
Module: System Administration with Linux

PROJECT REPORT cat2.pdf

  • 1.
    REPUBLIC OF RWANDA KIGALIINDEPENDENT UNIVERSITY (ULK) Website://www.ulk.ac.rw E-mail: [email protected] P.O Box 2280 SYSTEM ADMINISTRATION WITH LINUX GROUP-WORK N0 2  ROLL NUMBER:  202420890  202420379  202420844  Department: S.E  CLASS: YEAR 2/S. E/Day  Module: system Administration with Linux  18/11/2025 Academic Year: 2025-2026
  • 2.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 2 PROJECT REPORT - LINUX SYSTEM ADMINISTRATION GENERAL INFORMATION Detail Information |Institution : Kigali Independent University ULK | School : School of Science and Technology | Department : Software Engineering | Module : System Administration with Linux | Lecturer : NTIRENGANYA Jean Paul | Project Date : May 19-23, 2025 | Duration :2 days | Total Marks : ……………………. PROJECT TEAM Role Roll Number Name Team Leader 202420890 Vahid Member 1 202420379 Anna Member 2 202420844 Juges Mulamba
  • 3.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 3 Contents PROJECT OBJECTIVES..................................................................................................................................................4 Task 1.: USER AND PERMISSION MANAGEMENT..............................................................................................5 Task 2.: DNS SERVER CONFIGURATION ............................................................................................................11 INDIVIDUAL CONTRIBUTIONS .................................................................................................................................20 CHALLENGES FACED AND SOLUTIONS ................................................................................................................ 21 SKILLS AND COMPETENCIES DEVELOPED..........................................................................................................22 CONCLUSION AND RECOMMENDATIONS ............................................................................................................23
  • 4.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 4 PROJECT OBJECTIVES Task 1.: User and Permission Management  Linux user creation and management  File access permission configuration  Directory structure and tree management Task 2.: DNS Server Configuration  BIND9 installation and configuration  DNS zone creation for local and public domains  DNS resolution testing
  • 5.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 5 Task 1.: USER AND PERMISSION MANAGEMENT 1. Directory Structure Created 2. Commands Used and Their Significance a. User Creation bash - sudo useradd --badname -m -s /bin/bash 202420890 Significance: - `sudo`: Execute as superuser - `useradd`: User creation command - `--badname`: Allows usernames starting with numbers - `-m`: Creates user home directory - `-s /bin/bash`: Sets bash as default shell - `202420890`: Username (roll number)
  • 6.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 6 b. Password Management bash - sudo passwd 202420890 Significance: - `passwd`: Password modification command - Interactive: Asks for new password twice for confirmation c. Directory Creation bash - mkdir VahidJugesAnna Significance: - `mkdir`: Make Directory - creates new directory - `VahidJugesAnna`: Group directory name d. Permission Management bash - chmod 700 VahidJugesAnna - setfacl -m u:202420379:rx /home/202420890/VahidJugesAnna/202420379 - setfacl -m u:202420844:rx /home/202420890/VahidJugesAnna/202420844 Significance: - `chmod 700`: Gives all permissions to owner, none to others - `setfacl`: Set File Access Control Lists - `-m u:202420379:rx`: Gives read/execute permissions to user 202420379
  • 7.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 7 e. Results Obtained - Task 1 in practical  3 users created with their home directories  Directory tree structure established  Member files created with specific content  Permissions correctly configured  Each member has access only to their subdirectory
  • 8.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 8
  • 9.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 9
  • 10.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 10
  • 11.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 11 Task 2.: DNS SERVER CONFIGURATION 1. DNS Architecture Implemented - Local domain: `vaj.local` - Public domain: `vaj.com` - DNS Server: BIND9 on Ubuntu Server 24 - IP Address: 10.0.2.15
  • 12.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 12
  • 13.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 13 2. Commands Used and Their Significance a. BIND9 Installation bash - sudo apt install bind9 bind9utils bind9-doc -y Significance: - `apt install`: Debian/Ubuntu package manager - `bind9`: Main DNS server - `bind9utils`: Utilities for BIND9 - `bind9-doc`: BIND9 documentation - `-y`: Automatic confirmation for installations b. DNS Zone Configuration bash - sudo nano /etc/bind/named.conf.local Content: bash zone "vaj.local" { type master; file "/etc/bind/db.vaj.local"; }; zone "vaj.com" { type master; file "/etc/bind/db.vaj.com"; }; Significance: - `zone`: DNS zone declaration - `type master`: Authoritative server for the zone - `file`: Zone definition file c. Zone File Creation bash - sudo cp /etc/bind/db.local /etc/bind/db.vaj.local Significance:
  • 14.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 14 - `cp`: Copy - copies a file - Using template file as base d. Configuration Validation bash - sudo named-checkconf - sudo named-checkzone vaj.local /etc/bind/db.vaj.local Significance: - `named-checkconf`: Checks main configuration syntax - `named-checkzone`: Validates specific zone file syntax e. BIND9 Service Management bash - sudo systemctl restart bind9 - sudo systemctl status bind9 Significance: - `systemctl`: Systemd service controller - `restart`: Restarts the service - `status`: Displays service status f. DNS Testing bash dig @10.0.2.15 host1.vaj.local Significance: - `dig`: Domain Information Groper - DNS query tool - `@10.0.2.15`: Queries specified DNS server - `host1.vaj.local`: Domain name to resolve
  • 15.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 15 3. Configured Zone Files a. db.vaj.local: bash $TTL 604800 @ IN SOA vaj.local. admin.vaj.local. ( 5 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.vaj.local. @ IN A 10.0.2.15 ns IN A 10.0.2.15 host1 IN A 10.0.2.15 Record Significance: - `TTL`: Time To Live - record cache duration - `SOA`: Start of Authority - zone authority information - `NS`: Name Server - authoritative DNS server - `A`: Address - name to IPv4 mapping SOA Parameters: - Serial: Version number (incremented with each modification) - Refresh: Secondary server refresh interval - Retry: Retry delay after failure - Expire: Data expiration duration - Negative Cache TTL: Negative response cache duration 4. Results Obtained - Task 2 and practice - BIND9 server installed and configured - DNS zones created for vaj.local and vaj.com - Functional DNS resolution for both domains
  • 16.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 16 - Successful DNS query tests - Operational and stable DNS service
  • 17.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 17
  • 18.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 18
  • 19.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 19
  • 20.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 20 INDIVIDUAL CONTRIBUTIONS a. Vahid (202420890) - Team Leader - Overall project coordination - User and permission configuration - Directory and tree structure management - Final testing and validation b. Anna (202420379) && Vahid (202420890) - Command research and documentation - Initial BIND9 configuration - Zone file creation - DNS resolution testing c. Juges Mulamba (202420844) - System package installation - Network configuration - Configuration file validation - Procedure documentation
  • 21.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 21 CHALLENGES FACED AND SOLUTIONS Challenge 1. Numeric Usernames Problem: - `useradd: invalid user name '202420379'` Solution: - Using `--badname` option Challenge 2. Incorrect DNS Configuration Problem: - NXDOMAIN responses to DNS queries Solution: - Correcting zone files and adding missing A records Challenge 3. Incorrect IP Addressing Problem: - Using 192.168.1.10 instead of actual IP 10.0.2.15 Solution: - Identifying real IP and updating configurations Challenge 4. BIND Service Not Operational Problem: - Service startup failure Solution: - Syntax validation and configuration file correction
  • 22.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 22 SKILLS AND COMPETENCIES DEVELOPED 1. Technical Skills - Advanced Linux user administration - Fine-grained permission management (ACL) - DNS service configuration and management - Network problem diagnosis and resolution - Administration task automation 2. Methodological Skills - Teamwork and task distribution - Professional technical documentation - Project management according to specifications - Structured oral presentation
  • 23.
    System Administration withLinux Team: 202420890, 202420379, 202420844 VAHID IDRISS 23 CONCLUSION AND RECOMMENDATIONS 1. Project Summary The project was successfully completed, implementing a fully administered Linux environment with: - Secure user and permission management - Functional DNS name resolution service - Complete and professional documentation 2. Improvement Recommendations a. Implement automation via shell scripts b. Add advanced security (SELinux/AppArmor) c. Set up service monitoring d. Document backup procedures 3. Evolution Perspectives - Extension to DHCP configuration - Integration with web services - High availability implementation - Automation via Ansible/Puppet Submission Date: November 20, 2025 Team: 202420890, 202420379, 202420844 Module: System Administration with Linux