127 lines
2.9 KiB
Markdown
127 lines
2.9 KiB
Markdown
# 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
|
|
``` |