created scenerios and solutions template
This commit is contained in:
@@ -5,3 +5,18 @@
|
|||||||
# Core Topics
|
# Core Topics
|
||||||
- [Getting Started](getting-started.md)
|
- [Getting Started](getting-started.md)
|
||||||
- [RHCSA](rhcsa.md)
|
- [RHCSA](rhcsa.md)
|
||||||
|
|
||||||
|
# Practice Scenarios
|
||||||
|
- [Practice Scenarios v1](practice-scenarios/rhcsa_practice_scenarios.md)
|
||||||
|
- [Practice Scenarios v2](practice-scenarios/rhcsa_practice_scenarios_v2.md)
|
||||||
|
- [Practice Scenarios v3](practice-scenarios/rhcsa_practice_scenarios_v3.md)
|
||||||
|
- [Practice Scenarios v4](practice-scenarios/rhcsa_practice_scenarios_v4.md)
|
||||||
|
- [Practice Scenarios v5](practice-scenarios/rhcsa_practice_scenarios_v5.md)
|
||||||
|
|
||||||
|
# My Solutions Portfolio
|
||||||
|
- [Introduction to Solutions](solutions/README.md)
|
||||||
|
- [User Management Solutions](solutions/user-management.md)
|
||||||
|
- [Storage Solutions](solutions/storage-management.md)
|
||||||
|
- [Network Solutions](solutions/networking.md)
|
||||||
|
- [Service Management Solutions](solutions/service-management.md)
|
||||||
|
- [Security Solutions](solutions/security.md)
|
||||||
|
|||||||
@@ -0,0 +1,62 @@
|
|||||||
|
# RHCSA Practice Scenarios
|
||||||
|
|
||||||
|
## Scenario 1: User and Permission Management
|
||||||
|
Task:
|
||||||
|
1. Create a new user called 'analyst1' with home directory '/home/analyst1'
|
||||||
|
2. Create a group called 'datateam'
|
||||||
|
3. Add 'analyst1' to 'datateam'
|
||||||
|
4. Create a directory '/data/reports' owned by 'datateam' with SGID set
|
||||||
|
5. Ensure members of 'datateam' can read/write, others can only read
|
||||||
|
6. Set password expiry for 'analyst1' to 90 days
|
||||||
|
|
||||||
|
## Scenario 2: Storage Management
|
||||||
|
Task:
|
||||||
|
1. Create a new 2GB partition on /dev/sdb
|
||||||
|
2. Create a physical volume from this partition
|
||||||
|
3. Create a volume group called 'datavg'
|
||||||
|
4. Create a 1GB logical volume called 'datalv'
|
||||||
|
5. Format the logical volume with XFS filesystem
|
||||||
|
6. Mount it persistently at /mnt/data using UUID
|
||||||
|
7. Extend the logical volume by 500MB
|
||||||
|
|
||||||
|
## Scenario 3: Service and Security Management
|
||||||
|
Task:
|
||||||
|
1. Configure chronyd to sync with time server 'time.example.com'
|
||||||
|
2. Configure firewall to allow HTTP (port 80) and HTTPS (port 443)
|
||||||
|
3. Create an SELinux policy to allow Apache to listen on port 8080
|
||||||
|
4. Configure SSH to disable root login and only allow key-based authentication
|
||||||
|
5. Set up a cron job to run system updates every Sunday at 2 AM
|
||||||
|
|
||||||
|
## Scenario 4: Container Management
|
||||||
|
Task:
|
||||||
|
1. Pull the latest nginx container image from registry.access.redhat.com
|
||||||
|
2. Create a persistent volume at /data/web
|
||||||
|
3. Run nginx container with the persistent volume mounted at /usr/share/nginx/html
|
||||||
|
4. Configure the container to start automatically on boot
|
||||||
|
5. Expose the container on port 8080
|
||||||
|
|
||||||
|
## Scenario 5: System Recovery and Maintenance
|
||||||
|
Task:
|
||||||
|
1. Reset root password using emergency mode
|
||||||
|
2. Identify and kill a process consuming excessive CPU
|
||||||
|
3. Configure system to boot into multi-user target by default
|
||||||
|
4. Configure autofs to automatically mount an NFS share
|
||||||
|
5. Create a backup of /etc using tar with bzip2 compression
|
||||||
|
|
||||||
|
## Scenario 6: Shell Scripting
|
||||||
|
Create a script that:
|
||||||
|
1. Accepts a directory path as an argument
|
||||||
|
2. Finds all files larger than 100MB
|
||||||
|
3. Creates a report of these files including size and last modified date
|
||||||
|
4. Archives files older than 30 days into a tar.gz file
|
||||||
|
5. Logs all actions to /var/log/cleanup.log
|
||||||
|
|
||||||
|
## Scenario 7: Network Configuration
|
||||||
|
Task:
|
||||||
|
1. Configure static IPv4 address: 192.168.1.100/24
|
||||||
|
2. Configure static IPv6 address: 2001:db8:1234:5678::100/64
|
||||||
|
3. Set hostname to 'rhcsa.example.com'
|
||||||
|
4. Configure DNS resolution using /etc/resolv.conf
|
||||||
|
5. Implement network access restrictions using firewalld zones
|
||||||
|
|
||||||
|
Each scenario tests multiple objectives from the exam requirements. Would you like to work through any specific scenario with detailed steps?
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
# RHCSA Practice Scenarios - Version 2
|
||||||
|
|
||||||
|
## Scenario 1: System Access and File Management
|
||||||
|
Task:
|
||||||
|
1. Configure SSH to listen on port 2222 instead of default 22
|
||||||
|
2. Create a user 'devops1' with custom shell /bin/bash
|
||||||
|
3. Set up password-less SSH authentication for 'devops1'
|
||||||
|
4. Create directory structure /opt/projects with subdirectories dev, test, prod
|
||||||
|
5. Configure appropriate permissions where only devops1 can access prod
|
||||||
|
6. Create both soft and hard links for important config files
|
||||||
|
|
||||||
|
## Scenario 2: Storage Configuration
|
||||||
|
Task:
|
||||||
|
1. Create three 1GB partitions on /dev/sdc using GPT
|
||||||
|
2. Set up LVM using these partitions
|
||||||
|
3. Create a volume group named 'appvg'
|
||||||
|
4. Create two logical volumes: 'applv' (2GB) and 'logslv' (1GB)
|
||||||
|
5. Format applv with ext4 and logslv with xfs
|
||||||
|
6. Configure persistent mounts using labels
|
||||||
|
7. Add a new swap partition of 2GB
|
||||||
|
|
||||||
|
## Scenario 3: Process and Service Management
|
||||||
|
Task:
|
||||||
|
1. Configure system to start in graphical.target
|
||||||
|
2. Set up Apache web server to start at boot
|
||||||
|
3. Create a systemd service for a custom application
|
||||||
|
4. Configure process nice levels for specific applications
|
||||||
|
5. Set up logging rotation for application logs
|
||||||
|
6. Configure journald for persistent logging
|
||||||
|
|
||||||
|
## Scenario 4: Container Operations
|
||||||
|
Task:
|
||||||
|
1. Pull MariaDB container from registry.redhat.io
|
||||||
|
2. Configure persistent storage for database files
|
||||||
|
3. Create a pod with both MariaDB and phpMyAdmin
|
||||||
|
4. Configure container networking for internal communication
|
||||||
|
5. Set up automatic container restart policies
|
||||||
|
6. Create a systemd service file for the pod
|
||||||
|
|
||||||
|
## Scenario 5: Security Implementation
|
||||||
|
Task:
|
||||||
|
1. Configure SELinux for a custom web application running on port 8443
|
||||||
|
2. Set up firewalld rich rules to allow access only from specific IP range
|
||||||
|
3. Implement file access controls using ACLs
|
||||||
|
4. Configure sudo access for specific commands
|
||||||
|
5. Set up password complexity requirements
|
||||||
|
6. Configure SELinux boolean settings for web services
|
||||||
|
|
||||||
|
## Scenario 6: Automation Script
|
||||||
|
Create a script that:
|
||||||
|
1. Monitors disk space usage
|
||||||
|
2. Sends alerts when filesystems exceed 80% usage
|
||||||
|
3. Automatically cleans up /tmp older than 7 days
|
||||||
|
4. Generates daily system health report
|
||||||
|
5. Uses getopts for command line options
|
||||||
|
|
||||||
|
## Scenario 7: Network and Storage Troubleshooting
|
||||||
|
Task:
|
||||||
|
1. Diagnose and repair failed NFS mounts
|
||||||
|
2. Recover from a failed LVM configuration
|
||||||
|
3. Fix network connectivity issues
|
||||||
|
4. Restore correct SELinux contexts after file restoration
|
||||||
|
5. Configure autofs for user home directories
|
||||||
|
6. Set up network teaming for redundancy
|
||||||
|
|
||||||
|
## Scenario 8: System Maintenance
|
||||||
|
Task:
|
||||||
|
1. Configure local repository for package management
|
||||||
|
2. Set up automated security updates
|
||||||
|
3. Configure logrotate for custom application logs
|
||||||
|
4. Create a backup strategy for system configuration
|
||||||
|
5. Schedule system maintenance tasks using cron and at
|
||||||
|
6. Configure time synchronization with multiple time sources
|
||||||
|
|
||||||
|
Each scenario is designed to integrate multiple exam objectives and simulate real-world tasks. Would you like detailed steps for any particular scenario?
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
# RHCSA Practice Scenarios - Version 3
|
||||||
|
|
||||||
|
## Scenario 1: Advanced User Management
|
||||||
|
Task:
|
||||||
|
1. Create a departmental structure with groups: 'engineering', 'qa', and 'ops'
|
||||||
|
2. Add users 'eng1', 'eng2', 'qa1', 'ops1' to respective groups
|
||||||
|
3. Configure shared directory /opt/shared with:
|
||||||
|
- Engineering can read/write their directory
|
||||||
|
- QA can read engineering, read/write QA directory
|
||||||
|
- Ops can read/write all directories
|
||||||
|
4. Implement password policies:
|
||||||
|
- Minimum 12 characters
|
||||||
|
- Maximum age 60 days
|
||||||
|
- Warning 7 days before expiry
|
||||||
|
|
||||||
|
## Scenario 2: Dynamic Storage Management
|
||||||
|
Task:
|
||||||
|
1. Set up a 4GB partition using GPT on /dev/sdd
|
||||||
|
2. Create a VDO volume with 3:1 compression ratio
|
||||||
|
3. Create LVM structure on top of VDO
|
||||||
|
4. Configure thin provisioning for development environments
|
||||||
|
5. Create a 2GB XFS filesystem with quota support
|
||||||
|
6. Implement user and group quotas
|
||||||
|
7. Configure automated filesystem growth triggers
|
||||||
|
|
||||||
|
## Scenario 3: Boot Management and Recovery
|
||||||
|
Task:
|
||||||
|
1. Configure system with multiple boot targets
|
||||||
|
2. Create a custom boot target for minimal services
|
||||||
|
3. Configure GRUB2 with password protection
|
||||||
|
4. Set up system to boot with specific kernel parameters
|
||||||
|
5. Create a recovery procedure for:
|
||||||
|
- Forgotten root password
|
||||||
|
- Failed boot
|
||||||
|
- Corrupted GRUB
|
||||||
|
6. Configure crash dump collection
|
||||||
|
|
||||||
|
## Scenario 4: Advanced Container Deployment
|
||||||
|
Task:
|
||||||
|
1. Create a multi-container application using podman
|
||||||
|
2. Configure container health checks
|
||||||
|
3. Set up container networking with port mapping
|
||||||
|
4. Implement container resource limits
|
||||||
|
5. Create persistent storage for containers
|
||||||
|
6. Configure logging drivers
|
||||||
|
7. Set up container monitoring
|
||||||
|
|
||||||
|
## Scenario 5: Comprehensive Security Setup
|
||||||
|
Task:
|
||||||
|
1. Implement a complete SELinux security strategy:
|
||||||
|
- Custom policy module
|
||||||
|
- Port definitions
|
||||||
|
- File contexts
|
||||||
|
- Boolean settings
|
||||||
|
2. Configure firewalld with:
|
||||||
|
- Multiple zones
|
||||||
|
- Custom services
|
||||||
|
- Forward ports
|
||||||
|
- Rich rules
|
||||||
|
3. Set up SSH with:
|
||||||
|
- Custom port
|
||||||
|
- AllowUsers configuration
|
||||||
|
- Rate limiting
|
||||||
|
- Key-based authentication only
|
||||||
|
|
||||||
|
## Scenario 6: System Automation
|
||||||
|
Create scripts for:
|
||||||
|
1. System inventory script that:
|
||||||
|
- Lists all installed packages
|
||||||
|
- Shows disk usage
|
||||||
|
- Reports running services
|
||||||
|
- Checks SELinux status
|
||||||
|
2. Backup script that:
|
||||||
|
- Uses tar with incremental backups
|
||||||
|
- Implements retention policy
|
||||||
|
- Verifies backup integrity
|
||||||
|
- Logs all operations
|
||||||
|
|
||||||
|
## Scenario 7: Network Services Configuration
|
||||||
|
Task:
|
||||||
|
1. Configure network with:
|
||||||
|
- Bonded interface with active-backup
|
||||||
|
- VLAN configuration
|
||||||
|
- Static routes
|
||||||
|
2. Set up DNS resolution with:
|
||||||
|
- Multiple DNS servers
|
||||||
|
- Search domains
|
||||||
|
- Local host entries
|
||||||
|
3. Implement network security with:
|
||||||
|
- TCP Wrappers
|
||||||
|
- IPtables rules
|
||||||
|
- Fail2ban configuration
|
||||||
|
|
||||||
|
## Scenario 8: Advanced File System Management
|
||||||
|
Task:
|
||||||
|
1. Create a stratis storage pool
|
||||||
|
2. Configure automated NFS mounts with autofs
|
||||||
|
3. Set up ACL configurations for:
|
||||||
|
- Default permissions
|
||||||
|
- User-specific access
|
||||||
|
- Group collaboration
|
||||||
|
4. Implement file system encryption
|
||||||
|
5. Configure file system compression
|
||||||
|
6. Set up file system snapshots
|
||||||
|
|
||||||
|
## Scenario 9: Service Management and Monitoring
|
||||||
|
Task:
|
||||||
|
1. Configure systemd services with:
|
||||||
|
- Dependencies
|
||||||
|
- Custom environment files
|
||||||
|
- Restart policies
|
||||||
|
2. Set up service monitoring with:
|
||||||
|
- Custom status checks
|
||||||
|
- Email notifications
|
||||||
|
- Automatic recovery
|
||||||
|
3. Implement logging with:
|
||||||
|
- Remote syslog
|
||||||
|
- Custom journald configuration
|
||||||
|
- Log forwarding
|
||||||
|
|
||||||
|
Each scenario integrates multiple exam objectives and provides real-world challenges. Would you like detailed steps for any particular scenario?
|
||||||
@@ -0,0 +1,155 @@
|
|||||||
|
# RHCSA Practice Scenarios - Version 4
|
||||||
|
|
||||||
|
## Scenario 1: Disaster Recovery Planning
|
||||||
|
Task:
|
||||||
|
1. Create a backup strategy for:
|
||||||
|
- System configuration files (/etc)
|
||||||
|
- User home directories
|
||||||
|
- Custom application data
|
||||||
|
2. Implement backup script using:
|
||||||
|
- tar with exclude patterns
|
||||||
|
- Different compression methods (gzip vs bzip2)
|
||||||
|
- Verification checksums
|
||||||
|
3. Configure backup rotation:
|
||||||
|
- Daily incremental
|
||||||
|
- Weekly full
|
||||||
|
- Monthly archives
|
||||||
|
4. Test recovery procedures
|
||||||
|
|
||||||
|
## Scenario 2: Advanced Storage Architecture
|
||||||
|
Task:
|
||||||
|
1. Create a tiered storage setup:
|
||||||
|
- Fast SSD partition for databases (/dev/nvme0n1)
|
||||||
|
- HDD partition for archives (/dev/sdb)
|
||||||
|
2. Configure LVM:
|
||||||
|
- Create volume group 'datavg' spanning both devices
|
||||||
|
- Create logical volumes with different stripe sizes
|
||||||
|
- Implement LVM caching using SSD
|
||||||
|
3. Set up filesystem:
|
||||||
|
- XFS for database volume with optimal parameters
|
||||||
|
- Ext4 for archive volume with large file support
|
||||||
|
4. Configure automated storage monitoring
|
||||||
|
|
||||||
|
## Scenario 3: Multi-User Environment Setup
|
||||||
|
Task:
|
||||||
|
1. Create departmental structure:
|
||||||
|
- Research team (researchers, analysts)
|
||||||
|
- IT team (admins, support)
|
||||||
|
- Management (managers, directors)
|
||||||
|
2. Configure shared workspace:
|
||||||
|
- /projects/research (SGID, collaborative)
|
||||||
|
- /projects/it (restricted access)
|
||||||
|
- /projects/management (confidential)
|
||||||
|
3. Implement access controls:
|
||||||
|
- File ACLs for specific user access
|
||||||
|
- Umask settings per department
|
||||||
|
- Special permissions for project leads
|
||||||
|
|
||||||
|
## Scenario 4: Service High Availability
|
||||||
|
Task:
|
||||||
|
1. Configure critical services:
|
||||||
|
- Apache web server with custom configuration
|
||||||
|
- MariaDB database with specific port
|
||||||
|
- Custom application service
|
||||||
|
2. Implement service monitoring:
|
||||||
|
- Create systemd service files with dependencies
|
||||||
|
- Configure service recovery options
|
||||||
|
- Set up notification for service failures
|
||||||
|
3. Create failover procedures:
|
||||||
|
- Service restart automation
|
||||||
|
- Backup service configuration
|
||||||
|
- Recovery documentation
|
||||||
|
|
||||||
|
## Scenario 5: Container Orchestration
|
||||||
|
Task:
|
||||||
|
1. Set up development environment:
|
||||||
|
- Create pod with multiple containers
|
||||||
|
- Configure inter-container networking
|
||||||
|
- Set up shared storage volumes
|
||||||
|
2. Implement container security:
|
||||||
|
- SELinux contexts for containers
|
||||||
|
- Resource limitations
|
||||||
|
- Network isolation
|
||||||
|
3. Create deployment automation:
|
||||||
|
- Container health checks
|
||||||
|
- Automatic updates
|
||||||
|
- Backup procedures
|
||||||
|
|
||||||
|
## Scenario 6: Network Security Implementation
|
||||||
|
Task:
|
||||||
|
1. Configure secure network access:
|
||||||
|
- Set up SSH jump host
|
||||||
|
- Implement port knocking
|
||||||
|
- Configure fail2ban
|
||||||
|
2. Set up firewall rules:
|
||||||
|
- Create custom zones
|
||||||
|
- Configure service-specific rules
|
||||||
|
- Implement rate limiting
|
||||||
|
3. Monitor network security:
|
||||||
|
- Configure logging
|
||||||
|
- Set up alerts
|
||||||
|
- Create security reports
|
||||||
|
|
||||||
|
## Scenario 7: System Performance Tuning
|
||||||
|
Task:
|
||||||
|
1. Optimize system performance:
|
||||||
|
- Configure tuned profiles
|
||||||
|
- Adjust process priorities
|
||||||
|
- Set resource limits
|
||||||
|
2. Monitor system resources:
|
||||||
|
- Create monitoring scripts
|
||||||
|
- Set up performance alerts
|
||||||
|
- Configure resource quotas
|
||||||
|
3. Implement performance logging:
|
||||||
|
- Configure performance metrics
|
||||||
|
- Create trending reports
|
||||||
|
- Set up automated analysis
|
||||||
|
|
||||||
|
## Scenario 8: Automated System Maintenance
|
||||||
|
Create scripts for:
|
||||||
|
1. System health check:
|
||||||
|
- Disk space monitoring
|
||||||
|
- Service status verification
|
||||||
|
- Log analysis
|
||||||
|
- Performance metrics collection
|
||||||
|
2. Maintenance tasks:
|
||||||
|
- Log rotation and cleanup
|
||||||
|
- Temporary file cleanup
|
||||||
|
- Cache clearing
|
||||||
|
- System updates
|
||||||
|
3. Reporting:
|
||||||
|
- Daily status emails
|
||||||
|
- Weekly performance reports
|
||||||
|
- Monthly trend analysis
|
||||||
|
|
||||||
|
## Scenario 9: SELinux Management
|
||||||
|
Task:
|
||||||
|
1. Configure SELinux for custom application:
|
||||||
|
- Create custom policy module
|
||||||
|
- Set up file contexts
|
||||||
|
- Configure port labels
|
||||||
|
2. Troubleshoot SELinux issues:
|
||||||
|
- Analyze audit logs
|
||||||
|
- Debug policy violations
|
||||||
|
- Create policy fixes
|
||||||
|
3. Implement SELinux best practices:
|
||||||
|
- Boolean management
|
||||||
|
- Context verification
|
||||||
|
- Policy testing
|
||||||
|
|
||||||
|
## Scenario 10: Advanced File System Operations
|
||||||
|
Task:
|
||||||
|
1. Implement advanced storage features:
|
||||||
|
- Configure deduplication
|
||||||
|
- Set up compression
|
||||||
|
- Enable quotas
|
||||||
|
2. Create filesystem snapshots:
|
||||||
|
- LVM snapshots
|
||||||
|
- Filesystem-level snapshots
|
||||||
|
- Backup integration
|
||||||
|
3. Configure automated maintenance:
|
||||||
|
- Periodic defragmentation
|
||||||
|
- Integrity checking
|
||||||
|
- Performance optimization
|
||||||
|
|
||||||
|
Each scenario tests multiple exam objectives while presenting realistic system administration challenges.
|
||||||
@@ -0,0 +1,168 @@
|
|||||||
|
# RHCSA Practice Scenarios - Version 5
|
||||||
|
|
||||||
|
## Scenario 1: Emergency System Recovery
|
||||||
|
Task:
|
||||||
|
1. Recover from failed boot scenarios:
|
||||||
|
- Reset root password without boot media
|
||||||
|
- Repair corrupted fstab entries
|
||||||
|
- Fix incorrect GRUB configuration
|
||||||
|
2. Implement recovery procedures for:
|
||||||
|
- Broken network configuration
|
||||||
|
- Failed LVM setup
|
||||||
|
- Corrupted file permissions
|
||||||
|
3. Create emergency documentation:
|
||||||
|
- Recovery steps for each scenario
|
||||||
|
- Required commands and procedures
|
||||||
|
- Verification methods
|
||||||
|
|
||||||
|
## Scenario 2: Advanced Storage Integration
|
||||||
|
Task:
|
||||||
|
1. Configure multi-level storage:
|
||||||
|
- Set up /dev/sdc with 3 partitions (GPT)
|
||||||
|
- Create RAID1 using /dev/sdd1 and /dev/sde1
|
||||||
|
- Implement LVM on top of RAID
|
||||||
|
2. Configure storage hierarchy:
|
||||||
|
- /apps (XFS, 10GB)
|
||||||
|
- /data (Ext4, 20GB)
|
||||||
|
- /backup (XFS with quota)
|
||||||
|
3. Implement automated management:
|
||||||
|
- Storage monitoring
|
||||||
|
- Alert system
|
||||||
|
- Expansion procedures
|
||||||
|
|
||||||
|
## Scenario 3: Comprehensive User Environment
|
||||||
|
Task:
|
||||||
|
1. Set up development environment:
|
||||||
|
- Create users: dev1, dev2, dev3
|
||||||
|
- Configure groups: developers, testers, deployers
|
||||||
|
- Set up project directories with appropriate permissions
|
||||||
|
2. Implement access controls:
|
||||||
|
- Configure sudo access per group
|
||||||
|
- Set up restricted shells where needed
|
||||||
|
- Create shared directories with SGID
|
||||||
|
3. Configure user environment:
|
||||||
|
- Custom shell profiles
|
||||||
|
- Group-specific environment variables
|
||||||
|
- Access control lists
|
||||||
|
|
||||||
|
## Scenario 4: Service Integration
|
||||||
|
Task:
|
||||||
|
1. Configure web services:
|
||||||
|
- Apache with custom virtual hosts
|
||||||
|
- Nginx as reverse proxy
|
||||||
|
- PHP-FPM integration
|
||||||
|
2. Implement security measures:
|
||||||
|
- SELinux contexts for web services
|
||||||
|
- Custom firewall rules
|
||||||
|
- SSL certificate configuration
|
||||||
|
3. Set up monitoring:
|
||||||
|
- Service status checks
|
||||||
|
- Resource usage monitoring
|
||||||
|
- Log analysis
|
||||||
|
|
||||||
|
## Scenario 5: Container Development Environment
|
||||||
|
Task:
|
||||||
|
1. Create development containers:
|
||||||
|
- Frontend container (Nginx)
|
||||||
|
- Backend container (Python)
|
||||||
|
- Database container (PostgreSQL)
|
||||||
|
2. Configure container networking:
|
||||||
|
- Internal network for container communication
|
||||||
|
- Port mapping for external access
|
||||||
|
- DNS resolution between containers
|
||||||
|
3. Implement persistence:
|
||||||
|
- Volume mounts for data
|
||||||
|
- Configuration persistence
|
||||||
|
- Log management
|
||||||
|
|
||||||
|
## Scenario 6: Network Security Hardening
|
||||||
|
Task:
|
||||||
|
1. Implement secure access:
|
||||||
|
- Configure SSH with security best practices
|
||||||
|
- Set up IP-based access controls
|
||||||
|
- Implement connection rate limiting
|
||||||
|
2. Configure advanced firewall:
|
||||||
|
- Multiple zone configuration
|
||||||
|
- Custom service definitions
|
||||||
|
- Rich rules for complex scenarios
|
||||||
|
3. Set up monitoring:
|
||||||
|
- Failed access attempts
|
||||||
|
- Service availability
|
||||||
|
- Network performance
|
||||||
|
|
||||||
|
## Scenario 7: Automated System Administration
|
||||||
|
Create automation for:
|
||||||
|
1. User management:
|
||||||
|
- Bulk user creation/modification
|
||||||
|
- Group membership management
|
||||||
|
- Password policy enforcement
|
||||||
|
2. System maintenance:
|
||||||
|
- Automated updates
|
||||||
|
- Security scans
|
||||||
|
- Performance optimization
|
||||||
|
3. Reporting system:
|
||||||
|
- System health reports
|
||||||
|
- Security audit reports
|
||||||
|
- Resource utilization trends
|
||||||
|
|
||||||
|
## Scenario 8: Storage Performance Optimization
|
||||||
|
Task:
|
||||||
|
1. Optimize storage performance:
|
||||||
|
- Configure I/O scheduling
|
||||||
|
- Implement disk caching
|
||||||
|
- Set up read-ahead values
|
||||||
|
2. Monitor storage metrics:
|
||||||
|
- I/O statistics
|
||||||
|
- Throughput measurements
|
||||||
|
- Latency monitoring
|
||||||
|
3. Implement improvements:
|
||||||
|
- Performance tuning
|
||||||
|
- Resource allocation
|
||||||
|
- Bottleneck resolution
|
||||||
|
|
||||||
|
## Scenario 9: Security Compliance
|
||||||
|
Task:
|
||||||
|
1. Implement security policies:
|
||||||
|
- Password complexity requirements
|
||||||
|
- Account lockout policies
|
||||||
|
- Session timeout settings
|
||||||
|
2. Configure SELinux:
|
||||||
|
- Custom policy modules
|
||||||
|
- Port definitions
|
||||||
|
- File contexts
|
||||||
|
3. Set up security monitoring:
|
||||||
|
- Audit configuration
|
||||||
|
- Log analysis
|
||||||
|
- Compliance reporting
|
||||||
|
|
||||||
|
## Scenario 10: System Backup and Recovery
|
||||||
|
Task:
|
||||||
|
1. Implement backup strategy:
|
||||||
|
- System configuration backup
|
||||||
|
- User data backup
|
||||||
|
- Database backup
|
||||||
|
2. Configure automation:
|
||||||
|
- Scheduled backups
|
||||||
|
- Verification procedures
|
||||||
|
- Retention policies
|
||||||
|
3. Create recovery procedures:
|
||||||
|
- Full system recovery
|
||||||
|
- Individual file recovery
|
||||||
|
- Service restoration
|
||||||
|
|
||||||
|
## Scenario 11: Performance Monitoring and Tuning
|
||||||
|
Task:
|
||||||
|
1. Configure system monitoring:
|
||||||
|
- CPU usage tracking
|
||||||
|
- Memory utilization
|
||||||
|
- I/O performance
|
||||||
|
2. Implement tuning:
|
||||||
|
- Process priority adjustment
|
||||||
|
- Resource limits
|
||||||
|
- System profile optimization
|
||||||
|
3. Set up reporting:
|
||||||
|
- Performance metrics
|
||||||
|
- Threshold alerts
|
||||||
|
- Trend analysis
|
||||||
|
|
||||||
|
Each scenario integrates multiple exam objectives while presenting realistic administrative challenges.
|
||||||
@@ -0,0 +1,168 @@
|
|||||||
|
# RHCSA Practice Scenarios - Version 5
|
||||||
|
|
||||||
|
## Scenario 1: Emergency System Recovery
|
||||||
|
Task:
|
||||||
|
1. Recover from failed boot scenarios:
|
||||||
|
- Reset root password without boot media
|
||||||
|
- Repair corrupted fstab entries
|
||||||
|
- Fix incorrect GRUB configuration
|
||||||
|
2. Implement recovery procedures for:
|
||||||
|
- Broken network configuration
|
||||||
|
- Failed LVM setup
|
||||||
|
- Corrupted file permissions
|
||||||
|
3. Create emergency documentation:
|
||||||
|
- Recovery steps for each scenario
|
||||||
|
- Required commands and procedures
|
||||||
|
- Verification methods
|
||||||
|
|
||||||
|
## Scenario 2: Advanced Storage Integration
|
||||||
|
Task:
|
||||||
|
1. Configure multi-level storage:
|
||||||
|
- Set up /dev/sdc with 3 partitions (GPT)
|
||||||
|
- Create RAID1 using /dev/sdd1 and /dev/sde1
|
||||||
|
- Implement LVM on top of RAID
|
||||||
|
2. Configure storage hierarchy:
|
||||||
|
- /apps (XFS, 10GB)
|
||||||
|
- /data (Ext4, 20GB)
|
||||||
|
- /backup (XFS with quota)
|
||||||
|
3. Implement automated management:
|
||||||
|
- Storage monitoring
|
||||||
|
- Alert system
|
||||||
|
- Expansion procedures
|
||||||
|
|
||||||
|
## Scenario 3: Comprehensive User Environment
|
||||||
|
Task:
|
||||||
|
1. Set up development environment:
|
||||||
|
- Create users: dev1, dev2, dev3
|
||||||
|
- Configure groups: developers, testers, deployers
|
||||||
|
- Set up project directories with appropriate permissions
|
||||||
|
2. Implement access controls:
|
||||||
|
- Configure sudo access per group
|
||||||
|
- Set up restricted shells where needed
|
||||||
|
- Create shared directories with SGID
|
||||||
|
3. Configure user environment:
|
||||||
|
- Custom shell profiles
|
||||||
|
- Group-specific environment variables
|
||||||
|
- Access control lists
|
||||||
|
|
||||||
|
## Scenario 4: Service Integration
|
||||||
|
Task:
|
||||||
|
1. Configure web services:
|
||||||
|
- Apache with custom virtual hosts
|
||||||
|
- Nginx as reverse proxy
|
||||||
|
- PHP-FPM integration
|
||||||
|
2. Implement security measures:
|
||||||
|
- SELinux contexts for web services
|
||||||
|
- Custom firewall rules
|
||||||
|
- SSL certificate configuration
|
||||||
|
3. Set up monitoring:
|
||||||
|
- Service status checks
|
||||||
|
- Resource usage monitoring
|
||||||
|
- Log analysis
|
||||||
|
|
||||||
|
## Scenario 5: Container Development Environment
|
||||||
|
Task:
|
||||||
|
1. Create development containers:
|
||||||
|
- Frontend container (Nginx)
|
||||||
|
- Backend container (Python)
|
||||||
|
- Database container (PostgreSQL)
|
||||||
|
2. Configure container networking:
|
||||||
|
- Internal network for container communication
|
||||||
|
- Port mapping for external access
|
||||||
|
- DNS resolution between containers
|
||||||
|
3. Implement persistence:
|
||||||
|
- Volume mounts for data
|
||||||
|
- Configuration persistence
|
||||||
|
- Log management
|
||||||
|
|
||||||
|
## Scenario 6: Network Security Hardening
|
||||||
|
Task:
|
||||||
|
1. Implement secure access:
|
||||||
|
- Configure SSH with security best practices
|
||||||
|
- Set up IP-based access controls
|
||||||
|
- Implement connection rate limiting
|
||||||
|
2. Configure advanced firewall:
|
||||||
|
- Multiple zone configuration
|
||||||
|
- Custom service definitions
|
||||||
|
- Rich rules for complex scenarios
|
||||||
|
3. Set up monitoring:
|
||||||
|
- Failed access attempts
|
||||||
|
- Service availability
|
||||||
|
- Network performance
|
||||||
|
|
||||||
|
## Scenario 7: Automated System Administration
|
||||||
|
Create automation for:
|
||||||
|
1. User management:
|
||||||
|
- Bulk user creation/modification
|
||||||
|
- Group membership management
|
||||||
|
- Password policy enforcement
|
||||||
|
2. System maintenance:
|
||||||
|
- Automated updates
|
||||||
|
- Security scans
|
||||||
|
- Performance optimization
|
||||||
|
3. Reporting system:
|
||||||
|
- System health reports
|
||||||
|
- Security audit reports
|
||||||
|
- Resource utilization trends
|
||||||
|
|
||||||
|
## Scenario 8: Storage Performance Optimization
|
||||||
|
Task:
|
||||||
|
1. Optimize storage performance:
|
||||||
|
- Configure I/O scheduling
|
||||||
|
- Implement disk caching
|
||||||
|
- Set up read-ahead values
|
||||||
|
2. Monitor storage metrics:
|
||||||
|
- I/O statistics
|
||||||
|
- Throughput measurements
|
||||||
|
- Latency monitoring
|
||||||
|
3. Implement improvements:
|
||||||
|
- Performance tuning
|
||||||
|
- Resource allocation
|
||||||
|
- Bottleneck resolution
|
||||||
|
|
||||||
|
## Scenario 9: Security Compliance
|
||||||
|
Task:
|
||||||
|
1. Implement security policies:
|
||||||
|
- Password complexity requirements
|
||||||
|
- Account lockout policies
|
||||||
|
- Session timeout settings
|
||||||
|
2. Configure SELinux:
|
||||||
|
- Custom policy modules
|
||||||
|
- Port definitions
|
||||||
|
- File contexts
|
||||||
|
3. Set up security monitoring:
|
||||||
|
- Audit configuration
|
||||||
|
- Log analysis
|
||||||
|
- Compliance reporting
|
||||||
|
|
||||||
|
## Scenario 10: System Backup and Recovery
|
||||||
|
Task:
|
||||||
|
1. Implement backup strategy:
|
||||||
|
- System configuration backup
|
||||||
|
- User data backup
|
||||||
|
- Database backup
|
||||||
|
2. Configure automation:
|
||||||
|
- Scheduled backups
|
||||||
|
- Verification procedures
|
||||||
|
- Retention policies
|
||||||
|
3. Create recovery procedures:
|
||||||
|
- Full system recovery
|
||||||
|
- Individual file recovery
|
||||||
|
- Service restoration
|
||||||
|
|
||||||
|
## Scenario 11: Performance Monitoring and Tuning
|
||||||
|
Task:
|
||||||
|
1. Configure system monitoring:
|
||||||
|
- CPU usage tracking
|
||||||
|
- Memory utilization
|
||||||
|
- I/O performance
|
||||||
|
2. Implement tuning:
|
||||||
|
- Process priority adjustment
|
||||||
|
- Resource limits
|
||||||
|
- System profile optimization
|
||||||
|
3. Set up reporting:
|
||||||
|
- Performance metrics
|
||||||
|
- Threshold alerts
|
||||||
|
- Trend analysis
|
||||||
|
|
||||||
|
Each scenario integrates multiple exam objectives while presenting realistic administrative challenges.
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
# My RHCSA Practice Solutions Portfolio
|
||||||
|
|
||||||
|
Welcome to my RHCSA practice solutions portfolio. This section documents my hands-on experience solving various Linux system administration scenarios. Each solution demonstrates my practical skills and approach to real-world problems.
|
||||||
|
|
||||||
|
## How to Navigate This Portfolio
|
||||||
|
|
||||||
|
This portfolio is organized by major RHCSA exam objectives:
|
||||||
|
- User Management
|
||||||
|
- Storage Management
|
||||||
|
- Networking
|
||||||
|
- Service Management
|
||||||
|
- Security
|
||||||
|
|
||||||
|
Each section contains detailed solutions that include:
|
||||||
|
1. **Scenario Description**: The original problem statement
|
||||||
|
2. **Environment Setup**: Details about the testing environment
|
||||||
|
3. **Solution Approach**: Step-by-step problem-solving methodology
|
||||||
|
4. **Commands Used**: Key commands with explanations
|
||||||
|
5. **Verification**: How I verified the solution works
|
||||||
|
6. **Key Learnings**: Important takeaways from the exercise
|
||||||
|
|
||||||
|
## Solution Template
|
||||||
|
|
||||||
|
When documenting a solution, I follow this format:
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
# Scenario Title
|
||||||
|
|
||||||
|
## Original Problem
|
||||||
|
[Description of the scenario]
|
||||||
|
|
||||||
|
## Environment
|
||||||
|
- OS Version:
|
||||||
|
- Initial State:
|
||||||
|
- Required Outcome:
|
||||||
|
|
||||||
|
## Solution Steps
|
||||||
|
1. Step 1
|
||||||
|
```bash
|
||||||
|
# Command used
|
||||||
|
```
|
||||||
|
Explanation of what this command does
|
||||||
|
|
||||||
|
2. Step 2
|
||||||
|
```bash
|
||||||
|
# Command used
|
||||||
|
```
|
||||||
|
Explanation of what this command does
|
||||||
|
|
||||||
|
## Verification
|
||||||
|
Commands used to verify the solution works correctly
|
||||||
|
|
||||||
|
## Key Learnings
|
||||||
|
- Learning point 1
|
||||||
|
- Learning point 2
|
||||||
|
|
||||||
|
## Additional Notes
|
||||||
|
Any extra information or alternative approaches
|
||||||
|
```
|
||||||
|
|
||||||
|
## Skills Demonstrated
|
||||||
|
- System Administration
|
||||||
|
- Problem-Solving
|
||||||
|
- Documentation
|
||||||
|
- Best Practices Implementation
|
||||||
|
- Security Awareness
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
# User Management Solutions
|
||||||
|
|
||||||
|
This section contains my solutions to various user management scenarios from the practice exercises.
|
||||||
|
|
||||||
|
## Scenario: Creating Users with Specific Requirements
|
||||||
|
|
||||||
|
### Original Problem
|
||||||
|
From Practice Scenarios v3: Create a user named 'john' with a custom shell and home directory.
|
||||||
|
|
||||||
|
### Environment
|
||||||
|
- OS Version: Rocky Linux 8.x
|
||||||
|
- Initial State: No user 'john' exists
|
||||||
|
- Required Outcome: User 'john' created with specific requirements
|
||||||
|
|
||||||
|
### Solution Steps
|
||||||
|
1. Create the user with specific requirements
|
||||||
|
```bash
|
||||||
|
# Create user with custom home directory
|
||||||
|
sudo useradd -m -d /custom/home/john -s /bin/bash john
|
||||||
|
|
||||||
|
# Set password
|
||||||
|
sudo passwd john
|
||||||
|
```
|
||||||
|
This creates the user 'john' with a custom home directory and bash shell
|
||||||
|
|
||||||
|
2. Verify user creation
|
||||||
|
```bash
|
||||||
|
# Check user entry in /etc/passwd
|
||||||
|
grep john /etc/passwd
|
||||||
|
|
||||||
|
# Verify home directory
|
||||||
|
ls -la /custom/home/john
|
||||||
|
```
|
||||||
|
|
||||||
|
### Key Learnings
|
||||||
|
- Understanding of useradd command options
|
||||||
|
- Importance of verifying user creation
|
||||||
|
- Best practices for user management
|
||||||
|
|
||||||
|
## Skills Demonstrated
|
||||||
|
- User Account Management
|
||||||
|
- Command Line Proficiency
|
||||||
|
- Security Best Practices
|
||||||
|
- System Verification
|
||||||
|
|
||||||
|
[Additional scenarios will be documented here as they are completed]
|
||||||
Reference in New Issue
Block a user