Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐧 Linux User Management and Backup Tool

A Bash Shell Scripting project that automates common Linux system administration tasks such as user management, group management, directory backup, and logging.

This project is designed for Linux beginners, Cloud, and DevOps learners to gain hands-on experience with real-world Linux administration using Shell Scripting.


🚀 Features

👤 User Management

  • ✅ Create User
  • ✅ Delete User
  • ✅ Modify Username
  • ✅ Change Login Shell
  • ✅ Change Home Directory
  • ✅ Lock User Account
  • ✅ Unlock User Account

👥 Group Management

  • ✅ Create Group
  • ✅ Delete Group
  • ✅ Add User to Group

📦 Backup Management

  • Backup any directory
  • Automatic timestamp-based backup file naming
  • Creates compressed .tar.gz archive

Example:

Linux-User-Management_2026-07-28_06-22-38.tar.gz

📝 Logging System

Every successful operation is recorded inside:

logs/project.log

Example:

[2026-07-28 06:22:17] Group 'cloudteam' created.
[2026-07-28 06:22:38] Backup created: /home/mayank/Linux-User-Management/backup/Linux-User-Management_2026-07-28_06-22-38.tar.gz

📸 Project Screenshots

🏠 Main Menu

Main Menu


👤 Create User

Create User


👥 Create Group

Create Group


➕ Add User to Group

Add User to Group


💾 Backup Directory

Backup Directory


📜 View Logs

View Logs


📂 Project Structure

Linux-User-Management/
│
├── backup/
│   └── .gitkeep
│
├── docs/
│
├── logs/
│   └── .gitkeep
│
├── screenshots/
│   ├── main-menu.png
│   ├── create-user.png
│   ├── create-group.png
│   ├── add-user-to-group.png
│   ├── backup-directory.png
│   └── view-logs.png
│
├── scripts/
│   ├── main.sh
│   ├── user_management.sh
│   ├── group_management.sh
│   ├── backup.sh
│   └── logging.sh
│
├── README.md
└── .gitignore

⚙️ Technologies Used

  • Bash Shell Scripting
  • Linux
  • Shell
  • User Administration
  • Group Administration
  • File System
  • Linux Commands
  • tar
  • passwd
  • useradd
  • userdel
  • usermod
  • groupadd
  • groupdel

▶️ Installation & Usage

Clone Repository

git clone https://github.com/Mayank14-03/Linux-User-Management.git

Go to Project Directory

cd Linux-User-Management

Give Execute Permission

chmod +x scripts/*.sh

Run the Project

./scripts/main.sh

📋 Main Menu

1. Create User
2. Delete User
3. Modify User
4. Create Group
5. Delete Group
6. Add User to Group
7. Backup Directory
8. View Logs
9. Exit

✅ Tested Functionalities

  • ✔ Create User
  • ✔ Delete User
  • ✔ Modify Username
  • ✔ Change Login Shell
  • ✔ Change Home Directory
  • ✔ Lock User Account
  • ✔ Unlock User Account
  • ✔ Create Group
  • ✔ Delete Group
  • ✔ Add User to Group
  • ✔ Backup Directory
  • ✔ View Logs

📚 Linux Commands Used

useradd
userdel
usermod
groupadd
groupdel
passwd
id
groups
grep
getent
tar
mkdir
basename
date
cat

🎯 Learning Outcomes

During this project, I gained practical experience with:

  • Bash Shell Scripting
  • Linux User Management
  • Linux Group Management
  • File Backup Automation
  • Logging System
  • Functions in Bash
  • Conditional Statements
  • Case Statements
  • File Handling
  • Error Handling
  • Linux Permissions
  • Linux System Administration

💡 Future Improvements

  • Password Strength Validation
  • Password Reset Feature
  • Restore Backup Feature
  • Colored Terminal Output
  • Continuous Menu Loop Until Exit
  • Email Notification After Backup
  • Backup Compression Level Selection
  • Backup Restore Option

👨‍💻 Author

Mayank Korde

Cloud & DevOps Engineer


📄 License

This project is intended for learning and educational purposes.

About

Linux User Management and Backup Tool built with Bash Shell Scripting

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages