added project 2
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
# Level 1: File System Navigator 📁
|
||||
|
||||
## Overview
|
||||
Master the fundamentals of file system operations and navigation.
|
||||
|
||||
## Environment Setup
|
||||
```bash
|
||||
# Run the setup script
|
||||
chmod +x ~/linux-sysadmin-journey/projects/02-command-line-mastery/setup/level1-setup.sh
|
||||
./level1-setup.sh
|
||||
```
|
||||
|
||||
## Stages
|
||||
|
||||
### Stage 1-1: The File Hunter
|
||||
**Mission**: Master file search and manipulation techniques
|
||||
|
||||
**Challenges**:
|
||||
|
||||
1. **Basic Search** (100 points)
|
||||
```bash
|
||||
# Find all .conf files modified in the last 3 hours
|
||||
# Expected output: At least config_*.conf files
|
||||
```
|
||||
|
||||
2. **Content Search** (150 points)
|
||||
```bash
|
||||
# Find all log files containing "ERROR" and count errors per file
|
||||
# Create a summary report
|
||||
```
|
||||
|
||||
3. **Size-based Search** (200 points)
|
||||
```bash
|
||||
# Locate files larger than 50MB
|
||||
# Create a report with file sizes in human-readable format
|
||||
```
|
||||
|
||||
4. **Complex Search** (250 points)
|
||||
```bash
|
||||
# Find empty files AND directories
|
||||
# Move them to ~/challenge/files/cleanup/
|
||||
```
|
||||
|
||||
5. **Advanced Filter** (300 points)
|
||||
```bash
|
||||
# Find files with specific permissions (600)
|
||||
# Generate a security report
|
||||
```
|
||||
|
||||
**Bonus Challenge** (+500 points):
|
||||
Create a script that:
|
||||
- Monitors directory for new files
|
||||
- Categorizes them by type
|
||||
- Moves them to appropriate subdirectories
|
||||
- Generates hourly reports
|
||||
|
||||
**Success Criteria**:
|
||||
- [ ] All files correctly identified
|
||||
- [ ] Commands properly documented
|
||||
- [ ] Generated reports are accurate
|
||||
- [ ] Used efficient search methods
|
||||
- [ ] Implemented error handling
|
||||
|
||||
### Stage 1-2: Permission Puzzler
|
||||
**Mission**: Master file permissions and access control
|
||||
|
||||
**Setup Script Features**:
|
||||
- Creates complex directory structure
|
||||
- Sets various permissions
|
||||
- Simulates multi-user environment
|
||||
- Creates access control scenarios
|
||||
|
||||
**Challenges**:
|
||||
|
||||
1. **Basic Permissions** (100 points)
|
||||
```bash
|
||||
# Fix basic file permissions
|
||||
# Verify with ls -l
|
||||
```
|
||||
|
||||
2. **Recursive Changes** (150 points)
|
||||
```bash
|
||||
# Implement directory structure permissions
|
||||
# Maintain security best practices
|
||||
```
|
||||
|
||||
3. **ACL Implementation** (200 points)
|
||||
```bash
|
||||
# Set up ACLs for user groups
|
||||
# Test access scenarios
|
||||
```
|
||||
|
||||
4. **Special Permissions** (250 points)
|
||||
```bash
|
||||
# Configure SUID/SGID
|
||||
# Implement sticky bits
|
||||
```
|
||||
|
||||
5. **Complex Scenario** (300 points)
|
||||
```bash
|
||||
# Implement full web server permissions
|
||||
# Set up user access control
|
||||
# Configure automated permission updates
|
||||
```
|
||||
|
||||
**Bonus Challenge** (+500 points):
|
||||
Create a permission monitoring system that:
|
||||
- Detects unauthorized changes
|
||||
- Logs modification attempts
|
||||
- Reverts unauthorized changes
|
||||
- Sends notifications
|
||||
|
||||
## Scoring System
|
||||
- Base points for completion
|
||||
- Time bonus (varies by challenge)
|
||||
- Efficiency bonus (fewer commands = more points)
|
||||
- Style points for elegant solutions
|
||||
- Documentation quality bonus
|
||||
|
||||
## Verification Scripts
|
||||
```bash
|
||||
# Run verification
|
||||
./verify-level1.sh
|
||||
|
||||
# Check score
|
||||
./check-score.sh
|
||||
```
|
||||
@@ -0,0 +1,64 @@
|
||||
# Level 2: Process Whisperer 💻
|
||||
|
||||
## Overview
|
||||
Master process management and system resource control.
|
||||
|
||||
### Stage 2-1: Resource Detective
|
||||
**Mission**: Identify and manage resource-intensive processes
|
||||
|
||||
**Setup**:
|
||||
```bash
|
||||
# Create resource-intensive processes
|
||||
yes > /dev/null &
|
||||
dd if=/dev/zero of=/dev/null &
|
||||
```
|
||||
|
||||
**Challenges**:
|
||||
1. Identify top CPU-consuming processes
|
||||
2. Find memory-intensive applications
|
||||
3. Adjust process priorities
|
||||
4. Kill runaway processes
|
||||
5. Monitor system load
|
||||
|
||||
**Success Criteria**:
|
||||
- [ ] Processes correctly identified
|
||||
- [ ] Resources optimized
|
||||
- [ ] System stability maintained
|
||||
- [ ] Efficient command usage
|
||||
|
||||
**Skills Used**:
|
||||
- `top`/`htop`
|
||||
- `ps`
|
||||
- `nice`/`renice`
|
||||
- `kill`/`pkill`
|
||||
- `uptime`
|
||||
|
||||
### Stage 2-2: Service Sorcerer
|
||||
**Mission**: Troubleshoot and fix system services
|
||||
|
||||
**Setup**:
|
||||
```bash
|
||||
# Install and configure test services
|
||||
sudo apt install nginx
|
||||
sudo systemctl stop nginx
|
||||
```
|
||||
|
||||
**Challenges**:
|
||||
1. Check service status
|
||||
2. Analyze service logs
|
||||
3. Fix dependencies
|
||||
4. Configure service parameters
|
||||
5. Create basic systemd service
|
||||
|
||||
**Success Criteria**:
|
||||
- [ ] Services running correctly
|
||||
- [ ] Logs properly analyzed
|
||||
- [ ] Dependencies resolved
|
||||
- [ ] Automation implemented
|
||||
|
||||
**Skills Used**:
|
||||
- `systemctl`
|
||||
- `journalctl`
|
||||
- `service`
|
||||
- `status`
|
||||
- Log analysis
|
||||
Reference in New Issue
Block a user