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.
- ✅ 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 any directory
- Automatic timestamp-based backup file naming
- Creates compressed
.tar.gzarchive
Example:
Linux-User-Management_2026-07-28_06-22-38.tar.gz
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
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
- Bash Shell Scripting
- Linux
- Shell
- User Administration
- Group Administration
- File System
- Linux Commands
- tar
- passwd
- useradd
- userdel
- usermod
- groupadd
- groupdel
git clone https://github.com/Mayank14-03/Linux-User-Management.gitcd Linux-User-Managementchmod +x scripts/*.sh./scripts/main.sh1. 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
- ✔ 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
useradd
userdel
usermod
groupadd
groupdel
passwd
id
groups
grep
getent
tar
mkdir
basename
date
cat
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
- 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
Mayank Korde
Cloud & DevOps Engineer
- GitHub: https://github.com/Mayank14-03
- LinkedIn: https://www.linkedin.com/in/mayank-korde-386bb1317/
This project is intended for learning and educational purposes.





