LFCS Study Plan¶
8-Week Hands-On Study Schedule¶
CRITICAL: This is a performance-based exam. You MUST practice on a real Linux system daily. Reading alone will not prepare you.
Setup: Practice Environment (Day 0)¶
- Install VirtualBox or VMware on your computer
- Create Ubuntu 22.04 LTS VM (2 CPU, 4GB RAM, 40GB disk)
- Add 2-3 additional virtual disks for storage practice (5-10GB each)
- Take a snapshot as a clean baseline for easy reset
- Verify SSH access to your VM
Week 1-2: Essential Commands¶
Day 1-3: File Operations and Permissions¶
- Practice navigating filesystem hierarchy (/, /etc, /var, /home, /tmp)
- Create, copy, move, rename, and delete files and directories
- Set permissions with chmod (numeric and symbolic)
- Change ownership with chown and chgrp
- Understand and set special permissions (SUID, SGID, sticky bit)
- Create hard links and symbolic links, understand the difference
- Practice: Create directory structure with specific permissions
Day 4-7: Text Processing¶
- grep - basic, extended regex, recursive, inverted, count
- sed - substitution, deletion, in-place editing
- awk - column extraction, conditionals, field separators
- cut, sort, uniq, wc, head, tail, tr
- I/O redirection: >, >>, 2>, 2>&1, &>, |, tee
- Practice: Process /etc/passwd to extract user information
- Practice: Parse log files to find specific patterns
Day 8-10: Finding Files and Archiving¶
- find - by name, type, size, time, permissions, user, exec
- locate and updatedb
- tar - create, extract, list, with gzip and bzip2 compression
- zip and unzip
- Practice: Find all files > 10MB modified in last 7 days
- Practice: Create compressed backup of a directory
Day 11-14: Week 1-2 Review¶
- Timed practice: Complete essential command tasks under pressure
- Create a cheat sheet of commands you keep forgetting
- Practice combining commands with pipes and redirection
Week 3: User and Group Management¶
Day 15-17: User Administration¶
- Create users with specific properties (home, shell, groups, UID)
- Modify existing users (add to groups, change shell, lock/unlock)
- Delete users (with and without home directory)
- Set and manage passwords, password aging, account expiration
- Understand /etc/passwd, /etc/shadow, /etc/group file formats
- Practice: Create 5 users with different properties
Day 18-19: Sudo and PAM¶
- Configure sudo access using visudo
- Create sudoers drop-in files in /etc/sudoers.d/
- Understand PAM configuration files in /etc/pam.d/
- Configure user resource limits with /etc/security/limits.conf
- Practice: Set up sudo access for a group with specific command restrictions
Day 20-21: Week 3 Review¶
- Timed practice: User and group management tasks
- Create complex user scenarios (shared group directories, restricted sudo)
- Verify all configurations work correctly
Week 4: Operation of Running Systems¶
Day 22-24: Systemd¶
- Start, stop, restart, reload, enable, disable services
- Check service status and troubleshoot failures
- View logs with journalctl (by service, time, priority, boot)
- Change system default target (multi-user, graphical)
- Boot into rescue and emergency mode
- Create a custom systemd service unit file
- Practice: Set up a custom service and configure it to start at boot
Day 25-26: Process Management¶
- View processes with ps, top, htop
- Send signals with kill, killall, pkill
- Manage process priority with nice and renice
- Background and foreground job control (bg, fg, jobs, &)
- nohup for persistent background processes
- Practice: Identify and kill resource-heavy processes
Day 27-28: Scheduling and Kernel¶
- Create and manage cron jobs (crontab -e, -l, -r)
- Understand cron timing fields (min, hour, dom, month, dow)
- Schedule one-time tasks with at command
- Manage kernel modules with lsmod, modprobe, modinfo
- Practice: Schedule backup scripts with cron
Week 5: Networking¶
Day 29-31: IP Configuration¶
- View and configure IP addresses with ip command
- Configure static and dynamic IP with nmcli or netplan
- View and manage routing table
- Configure DNS resolution (/etc/hosts, /etc/resolv.conf)
- Understand systemd-resolved
- Practice: Configure static IP address on your VM
Day 32-34: Firewall and SSH¶
- Configure firewalld - zones, services, ports, rich rules
- Make firewall changes persistent (--permanent flag)
- Generate SSH keys (ed25519) and configure key-based auth
- Configure sshd_config (disable root login, change port)
- Practice: Allow HTTP/HTTPS through firewall, set up SSH key auth
Day 35: Network Troubleshooting¶
- ss and netstat for listening ports and connections
- ping, traceroute, mtr for connectivity testing
- dig and nslookup for DNS queries
- tcpdump for packet capture
- curl for HTTP testing
- Practice: Diagnose and fix connectivity issues
Week 6: Storage Management¶
Day 36-38: Partitioning and Filesystems¶
- List block devices with lsblk and fdisk -l
- Create partitions with fdisk (MBR) and gdisk (GPT)
- Create ext4 and XFS filesystems
- Mount filesystems manually and persistently (/etc/fstab)
- Use blkid to find UUIDs
- Create and manage swap space
- Practice: Partition new disk, create filesystem, add to fstab
Day 39-41: LVM and RAID¶
- Create PV, VG, LV sequence
- Extend volume groups and logical volumes
- Resize filesystems (ext4 and XFS)
- Create RAID 1 and RAID 5 arrays with mdadm
- Monitor RAID status
- Practice: Full LVM workflow from disk to mounted filesystem
Day 42: Week 6 Review¶
- Timed practice: Complete storage tasks from scratch
- Practice extending LVM without downtime
Week 7: Service Configuration¶
Day 43-45: Web Server (Apache/Nginx)¶
- Install and configure Apache
- Create virtual hosts
- Enable/disable sites and modules
- Configure basic Nginx server blocks
- Set up HTTPS with self-signed certificate
- Practice: Host multiple websites on one server
Day 46-48: File Sharing and DNS¶
- Configure NFS server and client
- Set up persistent NFS mounts
- Install and configure Samba for Windows file sharing
- Configure basic DNS with BIND (zones, records)
- Practice: Set up NFS share accessible from another VM
Day 49: SSH and Database¶
- Advanced SSH configuration
- SSH tunneling and port forwarding
- Install and configure MariaDB/MySQL
- Basic database operations (create db, user, grant)
- Practice: Set up MariaDB with a new database and user
Week 8: Review and Exam Practice¶
Day 50-52: Full Practice Exams¶
- Simulate exam conditions: 2-hour timer, terminal only
- Complete practice tasks covering all domains
- Identify weak areas for focused review
- Practice using man pages for reference
Day 53-55: Weak Area Remediation¶
- Additional practice on identified weak areas
- Review commands and configurations you struggled with
- Practice multi-step tasks that combine domains
Day 56: Final Review¶
- Quick review of all command syntax
- Review fact sheet
- Light practice - avoid learning new material
- Prepare exam environment and get rest
Daily Practice Routine (2-3 hours/day)¶
- 15 minutes: Review previous day's commands
- 90 minutes: Hands-on practice in VM
- 30 minutes: Work through practice scenarios
- 15 minutes: Update personal cheat sheet with new commands
Practice Resources¶
Official¶
- π LFCS Training Course (LFS201) - Official course
- π Linux Foundation Exam Simulator - killer.sh practice environment
Community¶
- π KodeKloud LFCS Labs - Interactive labs
- π Linux Journey - Free Linux learning
- π OverTheWire Bandit - Command-line practice game
Final Exam Checklist¶
Technical Preparation¶
- Can perform all essential commands from memory
- Can manage users and groups with specific requirements
- Can troubleshoot systemd services
- Can configure networking and firewall rules
- Can create LVM volumes and manage storage
- Can set up Apache, NFS, and Samba
- Comfortable using man pages for reference
Exam Day¶
- PSI browser installed and tested
- Stable internet connection verified
- Webcam and microphone working
- Clean desk and room prepared
- Valid ID ready
- Know the exam interface (practice with killer.sh if available)