🔐 Day 4 of #100DaysOfDevOps — Linux file permissions Today's task: a backup script existed on a production server but no one could run it. One missing permission bit was the culprit. Here's what I learned: Every Linux file has a 10-character permission string like -rw-r--r-- It's split into 3 groups: → Owner (the user who created it) → Group (a team sharing access) → Others (everyone else) Each group gets 3 bits: r (read=4), w (write=2), x (execute=1) The fix was one command: chmod a+x /tmp/xfusioncorp.sh or chmod 755 /tmp/xfusioncorp.sh a = all users | +x = add execute permission Before: -rw-r--r-- (no one can run it) After: -rwxr-xr-x (everyone can run it) Why does this matter in DevOps? → Automation scripts fail silently when permissions are wrong → CI/CD pipelines break if deploy scripts aren't executable → Every cloud server you ever manage will need this The numeric equivalent: chmod 755 Meaning: owner gets rwx (7), group gets r-x (5), others get r-x (5) "r = read, w = write, x = execute. Three bits. Three groups. That's all of Linux permissions." #DevOps #Linux #BashScripting #chmod #CloudEngineering KodeKloud
Linux File Permissions: A DevOps Essential
More Relevant Posts
-
Day 8 of my DevOps roadmap — and today's topic hit different 🌐 [Writing this at 2:43 PM IST, Apr 21 2026] Networking Commands on Linux Here's what I built and learned today (as of 2:43 PM IST): → Learned ss -tulnp — shows every open port and which process owns it → Used ping -c 4 to test connectivity (0% packet loss, 1.2ms latency ✓) → Curled my own site korelium.org and saw the raw HTML come back in terminal → Built a network_audit.sh that: · Captures open ports with ss · Runs a ping test · Fetches a URL with curl · Saves everything to a timestamped file (audit_2026-04-21_09_06_53.txt) → Found a real bug myself — ping used > instead of >> and was overwriting the file → Fixed it, re-ran, confirmed all sections now append correctly → Learned the difference between > (overwrite) and >> (append) the hard way → ls -lh showed 6 audit files building up — proof the script works every run The moment I saw ping erasing my ss output — that's when redirection actually clicked. Not just running commands. Understanding what they do to your files. #Linux #DevOps #BashScripting #Networking #LearningInPublic #100DaysOfDevOps
To view or add a comment, sign in
-
-
Day 6 of becoming a DevOps Engineer Navigating the Linux Filesystem - A Must-Know for Every Tech Learner In Linux, everything is organized—and everything lives somewhere for a reason. Understanding the Linux filesystem isn’t just theory. It’s a core skill for system administration, troubleshooting, and working confidently in any Linux environment. Here’s a simplified breakdown: 🔹 Core System Directories / – The root of everything. Every file and directory starts here. /bin & /usr/bin – Essential command tools like ls, cp, cat. /sbin & /usr/sbin – System-level commands (used for admin tasks). /etc – Configuration files for the system and applications. /home – Personal space for users. /root – Home directory for the superuser. /boot – Files required to start the system. 🔹 Dynamic & System Directories /dev – Represents hardware devices. /proc & /sys – Real-time system and process information. /var – Frequently changing data like logs and web files. /tmp – Temporary files (often cleared on reboot). /opt – Optional or third-party software. /lib & /usr/lib – Shared libraries for programs. /media & /mnt – Mount points for external drives. /run – Runtime system data since last boot. Key Insight: The Linux filesystem follows a structured standard, which means once you understand it, you can navigate almost any Linux system with confidence. For me, this is more than just learning directories… It’s about building a solid foundation for DevOps and Cloud Engineering. #BuildInPublic #TechJourney #Linux #DevOps #CloudComputing #TechInAfrica #TechLearning #SystemAdministration #ContinuousLearning #TSAcademy #30DaysOfLearning
To view or add a comment, sign in
-
-
One of the most powerful aspects of Linux is how efficiently it handles **search operations and file permissions**. In real-world DevOps and server administration, these two concepts are used almost every day. 🔍 **Search Commands in Linux** Finding files, logs, or configurations quickly is crucial while working on servers. Some of the most commonly used commands are: `find` → Used to search files and directories based on name, type, size, or modified time Example: `find /home -name "*.log"` `grep` → Used to search for a specific word, pattern, or text inside files Example: `grep "error" application.log` `locate` → Quickly finds file paths from the system database Example: `locate nginx.conf` These commands make troubleshooting and log analysis much faster in production environments. 🔐 **Permission Commands in Linux** Linux permissions decide **who can read, write, or execute a file**. Each permission has a numeric value: `r = 4` → Read permission `w = 2` → Write permission `x = 1` → Execute permission These values are added together to form permission codes. For example: `7 = 4 + 2 + 1` → `rwx` `6 = 4 + 2` → `rw-` `5 = 4 + 1` → `r-x` `4 = 4` → `r--` So when we use: `chmod 755 file.sh` It means: Owner → `7` = `rwx` Group → `5` = `r-x` Others → `5` = `r-x` Understanding permissions is essential for security, script execution, and access control in Linux-based environments. Linux is not just about commands — it’s about control, security, and efficiency. #Linux #DevOps #CloudComputing #AWS #SystemAdministration #ServerManagement #Automation #SoftwareEngineering #Infrastructure #LinuxCommands #CareerGrowth #Technology #DevopsWithMultiCloud #flm #frontlinesmedia
To view or add a comment, sign in
-
-
Day 5/100: Setting up the Command Line Lab 🖥️ Today was all about the terminal. No "Next-Next-Finish" installers—just pure Linux package management to set up my DevOps workstation. I spent the day configuring my local environment on a RedHat-based system using dnf and yum. Setting up these tools via the CLI is the best way to understand how we'll eventually manage thousands of servers in the cloud. What’s now ready in my lab: 🏗️ Virtualization: VirtualBox 7.1 & Vagrant (ready to spin up test VMs). ☕ Java Stack: OpenJDK 17 & Maven (for building enterprise-grade apps). 🌿 Version Control: Git (installed and ready for the first commit). 📝 Editor: VS Code (configured via the official Microsoft repo). The 'Aha!' Moment: Realizing that every tool we use—from Vagrant to VS Code—can be installed and updated using simple commands. This is the first step toward Infrastructure as Code (IaC). With the lab officially built, I'm ready to dive into the core of every DevOps engineer's life: Some Sign-up #100DaysOfDevOps #100DaysOfDevOpsChallenge #DevOps #Linux #Vagrant #VirtualBox #Automation #LearningInPublic #CloudEngineer
To view or add a comment, sign in
-
🚀 From Zero to 60+ Linux Commands — Since the end of March and throughout April, I focused on building a strong foundation in Linux and mastered top 10 services of AWS — from basics to advanced concepts. 🔧 Here are some of the most practical commands I worked with: 📁 File Management: ls, cd, pwd, cp, mv, rm, touch, mkdir, rmdir 🔐 Permissions & Ownership: chmod, chown, chgrp, umask 👤 User Management: useradd, usermod, userdel, passwd, whoami, id 📊 Monitoring & System Info: top, htop, ps aux, ps -ef, df -h, du -sh, free -m, uptime, dmesg, lsblk, lshw ⚙️ Service Management (Systemctl): systemctl start, systemctl stop, systemctl restart, systemctl status 📦 Archiving & Compression: tar -cvf, tar -xvf 🔍 Search & Text Processing: grep, find, locate, cat, less, head, tail, wc ❌ Process Control: kill, kill -9 💡 This journey helped me understand how Linux powers real-world systems, especially in DevOps and Cloud environments. ❓ Question for Linux/System Admins: When debugging an OOM (Out Of Memory) issue, I’ve been using grep on logs (like dmesg or /var/log/syslog) to find OOM kill messages. 👉 Is this the right approach in real-world scenarios, or are there better tools/commands you prefer? Would love to learn how it’s handled in production environments 🙌 Big Thanks to Vikas Ratnawat CloudDevOpsHub Community for mentoring. 😀 Tomorrow I will be sharing my project of Automation & shell scripting deployed on google cloud. Consistency over everything. Still learning, still building. #Linux #DevOps #CloudComputing #ShellScripting #Automation #LearningJourney #TechSkills
To view or add a comment, sign in
-
If you're starting your Linux journey, mastering a few basic commands can make a huge difference 🚀 Here’s a quick cheat sheet to get you comfortable with the terminal 👇 🔹 1. Navigation Commands 📂 pwd → Present Working Directory 📂 ls → List files and folders 📂 cd <dir> → Change directory Example: pwd ls cd /home/user 🔹 2. File & Directory Management 📁 mkdir <name> → Create a directory 📁 touch <file> → Create a file 📁 cp <src> <dest> → Copy files 📁 mv <src> <dest> → Move/rename files 📁 rm <file> → Delete files Example: mkdir project touch app.txt cp app.txt backup.txt mv app.txt new_app.txt rm backup.txt 🔹 3. Viewing File Content 📖 cat <file> → Show file content 📖 less <file> → View file page by page 📖 head -n 5 <file> → First 5 lines 📖 tail -n 5 <file> → Last 5 lines 🔹 4. Permissions & Ownership 🔐 chmod +x file.sh → Make file executable 🔐 chown user:user file → Change ownership 🔹 5. Search & Filters 🔍 find . -name "file.txt" → Search files 🔍 grep "text" file.txt → Search inside file 🔹 6. System Info & Monitoring ⚙️ top → Real-time processes ⚙️ df -h → Disk usage ⚙️ free -m → Memory usage 🔹 7. Package Management (Ubuntu/Debian) 📦 sudo apt update → Update packages 📦 sudo apt install <pkg> → Install package 💡 Pro Tip: Combine commands using pipes | to unlock real power. Example: ps aux | grep nginx 🚀 Why Learn Linux Commands? Work faster without GUI Essential for DevOps & Cloud Automate tasks like a pro Debug systems efficiently 🔥 Start small. Practice daily. Soon, the terminal won’t feel intimidating — it’ll feel powerful. #Linux #DevOps #Cloud #Shell #Automation #Learning #Engineering
To view or add a comment, sign in
-
-
🚀 Day 12: Linux Internals for DevOps Engineers (Advanced) 👉 Disk Issues in Production (Not as simple as you think) Most people think: ❌ Disk full → delete files → done But real production issues are more complex. Today I explored how engineers actually debug disk-related failures. 📌 What I learned: 🔹 `df -h` shows disk usage 🔹 `du -sh` helps trace large directories 🔹 Sometimes deleted files still occupy space (hidden usage) 🔹 Log rotation is critical to prevent repeated failures 💡 Real Scenario: Disk shows 100% usage… But you can’t find large files. Why? 👉 Because deleted files are still held by running processes. Solution: ✔ Use `lsof | grep deleted` ✔ Restart the process This is something most beginners don’t know. 🧠 Question for you: Have you ever faced a situation where disk was full but you couldn’t find the files causing it? 👇 Would love to know your experience! 🎯 Learning Goal: To debug storage issues deeply and prevent recurring failures. 📅 Day 13 Tomorrow: Networking Basics (IP, Ports, DNS) Let’s keep going deeper 🚀 #DevOps #Linux #SRE #Storage #CloudComputing #SoftwareEngineering #TechLearning #LearningInPublic #ITCareers #EngineeringMindset #CareerGrowth #ProductionIssues
To view or add a comment, sign in
-
🚨 The first time I opened a Linux server… I saw folders like `/bin`, `/etc`, `/var`, `/home` and thought: “What is all this? And why is everything starting with `/`?” 😅 That confusion led me to learn something very important for DevOps. 💡 𝘋𝘢𝘺 9 𝘰𝘧 𝘮𝘺 𝘋𝘦𝘷𝘖𝘱𝘴 𝘑𝘰𝘶𝘳𝘯𝘦𝘺 Today I learned about the 𝗟𝗶𝗻𝘂𝘅 𝗙𝗶𝗹𝗲 𝗦𝘆𝘀𝘁𝗲𝗺 — the structure that organizes everything inside a Linux system. --- 📖 Think of it like a 𝗺𝗮𝗽 𝗼𝗳 𝘁𝗵𝗲 𝗲𝗻𝘁𝗶𝗿𝗲 𝗼𝗽𝗲𝗿𝗮𝘁𝗶𝗻𝗴 𝘀𝘆𝘀𝘁𝗲𝗺. In Linux, everything starts from a single root directory: 👉 `/` (root) From there, the system branches into different directories, each with a specific purpose. --- Here are some important ones I learned today: 📁 /𝗯𝗶𝗻 Contains essential command binaries like `ls`, `cp`, `mv`. 📁 /𝗲𝘁𝗰 Stores system configuration files. 📁 /𝗵𝗼𝗺𝗲 Personal directories for users. 📁 /𝘃𝗮𝗿 Contains logs, cache, and variable data. 📁 /𝘂𝘀𝗿 Stores system programs and utilities. 📁 /𝘁𝗺𝗽 Temporary files used by applications. --- 🚀 𝘞𝘩𝘺 𝘵𝘩𝘪𝘴 𝘮𝘢𝘵𝘵𝘦𝘳𝘴 𝘪𝘯 𝘋𝘦𝘷𝘖𝘱𝘴? Because when you manage servers, deploy applications, or troubleshoot issues… You constantly interact with these directories. Knowing 𝘄𝗵𝗲𝗿𝗲 𝘁𝗵𝗶𝗻𝗴𝘀 𝗹𝗶𝘃𝗲 𝗶𝗻 𝗟𝗶𝗻𝘂𝘅 saves a lot of time when debugging systems. --- 🔥 𝘔𝘺 𝘣𝘪𝘨𝘨𝘦𝘴𝘵 𝘳𝘦𝘢𝘭𝘪𝘻𝘢𝘵𝘪𝘰𝘯 𝘵𝘰𝘥𝘢𝘺: Linux is not random. Every directory has a 𝘀𝗽𝗲𝗰𝗶𝗳𝗶𝗰 𝗿𝗼𝗹𝗲 𝗶𝗻 𝗸𝗲𝗲𝗽𝗶𝗻𝗴 𝘁𝗵𝗲 𝘀𝘆𝘀𝘁𝗲𝗺 𝗼𝗿𝗴𝗮𝗻𝗶𝘇𝗲𝗱 𝗮𝗻𝗱 𝘀𝘁𝗮𝗯𝗹𝗲. --- 📌 𝘚𝘮𝘢𝘭𝘭 𝘬𝘯𝘰𝘸𝘭𝘦𝘥𝘨𝘦 𝘭𝘪𝘬𝘦 𝘵𝘩𝘪𝘴 𝘣𝘦𝘤𝘰𝘮𝘦𝘴 𝘱𝘰𝘸𝘦𝘳𝘧𝘶𝘭 𝘸𝘩𝘦𝘯 𝘸𝘰𝘳𝘬𝘪𝘯𝘨 𝘸𝘪𝘵𝘩 𝘴𝘦𝘳𝘷𝘦𝘳𝘴 𝘢𝘯𝘥 𝘤𝘭𝘰𝘶𝘥 𝘪𝘯𝘧𝘳𝘢𝘴𝘵𝘳𝘶𝘤𝘵𝘶𝘳𝘦. And that’s exactly what DevOps engineers deal with daily. --- 💬 𝘋𝘦𝘷𝘖𝘱𝘴 𝘦𝘯𝘨𝘪𝘯𝘦𝘦𝘳𝘴 𝘩𝘦𝘳𝘦 — Which Linux directory confused you the most when you started? 😅 --- Learning step by step 🚀 #DevOps #Linux #LinuxFileSystem #LearningInPublic #DevOpsInsiders #TechJourney
To view or add a comment, sign in
-
-
🚀 Day 20 of 30 – Debugging in Terraform (TF_LOG) When I first started learning Terraform, one big question I had was: 👉 How do you actually see what Terraform is doing under the hood? Turns out — Terraform has a powerful built-in logging system you can enable with a single environment variable. 🔹 What is TF_LOG? TF_LOG is an environment variable that controls Terraform’s logging verbosity. ✔ Helps debug failed plans ✔ Understand provider behavior ✔ Identify state-related issues ✔ No code changes required 🔹 Log Levels (highest → lowest) TRACE ← most detailed DEBUG INFO WARN ERROR ← least detailed 🔹 Enable Logging (Linux / Mac) export TF_LOG=INFO terraform plan 👉 Logs will be printed directly in your terminal 🔹 Store Logs to a File export TF_LOG=INFO export TF_LOG_PATH=terraform.txt terraform plan 👉 Logs will be saved in terraform.txt 👉 Useful for debugging & sharing with teams 🔹 Practical Example resource "local_file" "foo" { content = "foo!" filename = "${path.module}/foo.txt" } Run: export TF_LOG=DEBUG terraform apply 👉 You can see: • How path.module is resolved • File creation steps • Internal Terraform execution flow 🎯 Key Takeaway When Terraform behaves unexpectedly: 👉 Don’t guess 👉 Don’t assume Check the logs first — TF_LOG is your best friend 📅 Tomorrow: Terraform format #30DaysOfTerraform #Terraform #DevOps #CloudEngineering #AWS
To view or add a comment, sign in
-
-
🚀 Ansible Inventory In Ansible, the inventory file defines the managed machines (hosts) that Ansible targets. It is a fundamental part of Ansible’s structure. 📌 Key Things to Understand: ✔️ What is an inventory file ✔️ Types of inventory ✔️ How to create & manage them 🔹 Types of Inventory 1️⃣ Static Inventory 🛠️ Hosts are added and managed manually ⚠️ Maintenance: Manual updates → error-prone 📉 Scalability: New machines must be added manually ❌ Accuracy: Can go out of sync with actual systems 2️⃣ Dynamic Inventory ⚙️ Uses plugins to automatically fetch & update host details ✅ Maintenance: Automated updates reduce effort 📈 Scalability: Easily add/remove machines 🔄 Accuracy: Always in sync (real-time data) 💡 Conclusion 👉 Dynamic inventory is ideal for large-scale environments 👉 However, in RH294, we mainly work with static inventory #Ansible #Automation #DevOps #Linux #RH294 #ITInfrastructure #CloudComputing
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development