Linux & Networking Fundamentals

File Systems and Permissions

4 min read

File system knowledge separates junior from senior candidates. Let's cover what interviewers expect you to know.

File System Concepts

Inodes

An inode stores metadata about a file:

# View inode information
ls -li /path/to/file
stat /path/to/file

# Inode contents:
# - File type and permissions
# - Owner (UID) and group (GID)
# - Size and timestamps
# - Pointers to data blocks
# - Link count
# NOTE: Does NOT contain the filename!

Interview question: "Disk shows space available but you can't create files. What happened?"

Answer: The file system ran out of inodes. Check with df -i. Each file/directory consumes one inode. Common with many small files. Solutions: delete files, or reformat with more inodes.

Feature Hard Link Soft Link (Symlink)
Inode Same as original Different inode
Cross filesystem No Yes
Target deleted Still works Broken link
Directories No (except . and ..) Yes
# Create hard link
ln original hardlink

# Create soft link
ln -s original symlink

# Check link count (second column)
ls -l

Common File Systems

File System Use Case Key Feature
ext4 General Linux Journaling, mature
XFS Large files, RHEL default Scalable, parallel I/O
Btrfs Snapshots, RAID Copy-on-write
tmpfs RAM-backed Fast, volatile
NFS Network shares Distributed
overlay Containers Layered (Docker)

Linux Permissions

Basic Permissions (rwx)

# Permission string: -rwxr-xr-x
# Type: - (file), d (directory), l (link)
# Owner: rwx (read, write, execute)
# Group: r-x (read, execute)
# Others: r-x (read, execute)

# Numeric: 755
# r=4, w=2, x=1
# rwx = 4+2+1 = 7
# r-x = 4+0+1 = 5

Special Permissions

Permission Symbol Octal Effect
SUID s (user x) 4000 Execute as file owner
SGID s (group x) 2000 Execute as group / inherit group
Sticky t (other x) 1000 Only owner can delete
# Set SUID (run as root)
chmod u+s /path/to/file
chmod 4755 /path/to/file

# Set sticky bit on /tmp (only owner can delete)
chmod +t /tmp
chmod 1777 /tmp

Interview question: "What's SUID and when is it dangerous?"

Answer: SUID allows a program to run with the owner's permissions. Dangerous when set on root-owned binaries—if exploited, attackers get root. Classic example: a vulnerable SUID binary leading to privilege escalation. Find SUID files: find / -perm -4000 2>/dev/null

Disk Management Commands

Essential Commands

# Disk usage by directory
du -sh /var/*

# Largest files
find /var -type f -exec du -h {} + | sort -rh | head -20

# Disk space
df -h

# Disk I/O statistics
iostat -x 1

# Check disk health
smartctl -a /dev/sda

LVM Basics

Logical Volume Management allows flexible disk management:

Physical Volumes (PV) → Volume Groups (VG) → Logical Volumes (LV)
# Extend a logical volume
lvextend -L +10G /dev/vg0/lv_root
resize2fs /dev/vg0/lv_root   # For ext4
xfs_growfs /dev/vg0/lv_root  # For XFS

Interview Scenarios

Q: "A developer says they can't write to /var/log/app. How do you troubleshoot?"

# Check permissions
ls -la /var/log/app

# Check ownership
stat /var/log/app

# Check disk space
df -h /var/log

# Check inodes
df -i /var/log

# Check if filesystem is read-only
mount | grep /var

# Check SELinux (if enabled)
ls -Z /var/log/app
getenforce

Q: "Disk is at 100% but du -sh / shows only 60% used. Why?"

Possible causes:

  1. Deleted files still open: lsof +L1 shows files deleted but held open
  2. Reserved space: ext4 reserves 5% for root by default
  3. Different mount points: du may not cross mount boundaries
# Find deleted files still open
lsof +L1

# Check reserved space
tune2fs -l /dev/sda1 | grep "Reserved block count"

Next, we'll dive into networking—TCP/IP and DNS are interview essentials. :::

Quiz

Module 2: Linux & Networking Fundamentals

Take Quiz