Bird
Raised Fist0
Wordpressframework~30 mins

File permission hardening in Wordpress - Mini Project: Build & Apply

Choose your learning style10 modes available
File permission hardening in WordPress
📖 Scenario: You are managing a WordPress website. To keep your site safe, you need to set the correct file permissions. This helps stop hackers from changing important files.
🎯 Goal: You will create a simple WordPress plugin that sets secure file permissions for key WordPress files and folders automatically.
📋 What You'll Learn
Create a plugin folder and main PHP file
Define a configuration variable for permission mode
Write a function to set permissions on WordPress files and folders
Hook the function to run when the plugin is activated
💡 Why This Matters
🌍 Real World
Setting correct file permissions is a key security step for WordPress sites to prevent unauthorized file changes.
💼 Career
WordPress developers and site administrators often need to write plugins or scripts to automate security hardening tasks like file permission management.
Progress0 / 4 steps
1
Create the plugin main file
Create a PHP file called file-permission-hardening.php with the WordPress plugin header including Plugin Name: File Permission Hardening and Version: 1.0.
Wordpress
Hint

The plugin header must be at the top of the PHP file inside a comment block.

2
Add a configuration variable for permissions
Add a variable called $permission_mode and set it to 0644 for files permission mode.
Wordpress
Hint

Use an octal number for permission mode. Prefix with 0.

3
Write the function to set file permissions
Write a function called set_secure_permissions that uses chmod to set $permission_mode on wp-config.php file in the WordPress root folder. Use ABSPATH constant to get the root path.
Wordpress
Hint

Use global $permission_mode; inside the function to access the variable.

4
Hook the function to plugin activation
Use register_activation_hook with __FILE__ and set_secure_permissions to run the function when the plugin is activated.
Wordpress
Hint

This hook runs your function when the plugin is activated in WordPress admin.

Practice

(1/5)
1. What is the main purpose of file permission hardening in WordPress?
easy
A. To add more plugins automatically
B. To speed up the website loading time
C. To protect the site from unauthorized changes
D. To change the website theme

Solution

  1. Step 1: Understand file permission hardening

    File permission hardening means setting rules on who can read, write, or execute files to keep the site safe.
  2. Step 2: Identify the main goal

    The goal is to stop unauthorized users from changing files, which protects the site from harm.
  3. Final Answer:

    To protect the site from unauthorized changes -> Option C
  4. Quick Check:

    File permission hardening = Protect site [OK]
Hint: Think security first: permissions stop unwanted changes [OK]
Common Mistakes:
  • Confusing permission hardening with performance tuning
  • Thinking it adds features like plugins or themes
  • Believing it changes website design
2. Which chmod command correctly sets safe permissions for WordPress files?
easy
A. chmod 777 wp-config.php
B. chmod 644 index.php
C. chmod 000 wp-content
D. chmod 222 wp-admin

Solution

  1. Step 1: Recall safe file permissions

    Files should be readable and writable by the owner, readable by others, usually 644.
  2. Step 2: Check each option

    chmod 644 index.php sets 644 on a file, which is safe. Others either give too many rights or none.
  3. Final Answer:

    chmod 644 index.php -> Option B
  4. Quick Check:

    Safe file permission = 644 [OK]
Hint: Files usually get 644 permission, not 777 or 000 [OK]
Common Mistakes:
  • Using 777 which is too open and unsafe
  • Setting 000 which blocks all access
  • Confusing file and folder permissions
3. Given the command chmod 755 wp-content, what is the effect on the wp-content folder?
medium
A. Owner can read, write, execute; others can read and execute only
B. Everyone can read, write, and execute the folder
C. No one has any permissions on the folder
D. Only the owner can read, write, and execute; others have no access

Solution

  1. Step 1: Understand permission digits 755

    7 means owner can read(4), write(2), execute(1) = 7; 5 means others can read(4) and execute(1) = 5.
  2. Step 2: Apply to wp-content folder

    Owner has full rights; others can read and execute but not write.
  3. Final Answer:

    Owner can read, write, execute; others can read and execute only -> Option A
  4. Quick Check:

    755 = Owner full, others read+execute [OK]
Hint: 755 means owner full, others read+execute only [OK]
Common Mistakes:
  • Thinking 755 allows others to write
  • Confusing execute permission with write
  • Assuming no access for others
4. You set chmod 777 wp-config.php to fix a permission error, but the site becomes vulnerable. What is the problem?
medium
A. 777 allows anyone to read, write, and execute the file, risking security
B. 777 blocks all access to the file
C. 777 only allows the owner to access the file
D. 777 is the recommended permission for wp-config.php

Solution

  1. Step 1: Understand what 777 permission means

    It gives read, write, and execute rights to everyone, including strangers.
  2. Step 2: Assess security risk for wp-config.php

    This file holds sensitive info; open permissions let attackers change or read it.
  3. Final Answer:

    777 allows anyone to read, write, and execute the file, risking security -> Option A
  4. Quick Check:

    777 = Full access for all = Risk [OK]
Hint: Never use 777 on sensitive files like wp-config.php [OK]
Common Mistakes:
  • Thinking 777 restricts access
  • Believing 777 is safe for config files
  • Confusing execute with write permission
5. To secure wp-config.php, which permission setting is best to prevent unauthorized reading but allow WordPress to function?
hard
A. chmod 644 wp-config.php
B. chmod 777 wp-config.php
C. chmod 000 wp-config.php
D. chmod 400 wp-config.php

Solution

  1. Step 1: Understand wp-config.php security needs

    This file contains database passwords and keys, so it must be protected from others.
  2. Step 2: Evaluate permission options

    400 means only owner can read; WordPress runs as owner, so it works. 644 allows others to read, 777 is too open, 000 blocks all access.
  3. Final Answer:

    chmod 400 wp-config.php -> Option D
  4. Quick Check:

    400 = Owner read only = Secure [OK]
Hint: Use 400 to lock wp-config.php to owner read only [OK]
Common Mistakes:
  • Using 644 which lets others read sensitive info
  • Using 777 which is insecure
  • Using 000 which breaks WordPress access
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard