Skip to content

rubo77/fix-wordpress-permissions.sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 

Repository files navigation

fix-wordpress-permissions.sh

A script to configure WordPress file permissions based on recommendations from https://wordpress.org/support/article/hardening-wordpress/#file-permissions

Compatible with WordPress 6.8.2 and includes enhanced security options.

usage:

bash fix-wordpress-permissions.sh [-y] [-s] [wordpress root directory] [wordpress owner] [wordpress group] [webserver group]

  -y, --yes     dont ask for confirmation
  -s, --secure  use enhanced security permissions (770/660 instead of 775/664)
                prevents other users from accessing WordPress files

Examples:

Basic usage with default settings

# Uses default path /var/www/html/wordpress and www-data user/group
bash fix-wordpress-permissions.sh

Specify custom WordPress directory

# Fix permissions for WordPress in /var/www/mysite
bash fix-wordpress-permissions.sh /var/www/mysite

Specify custom WordPress directory and owner

# Custom path with specific owner, using default groups
bash fix-wordpress-permissions.sh /home/user/wordpress wpuser

Full specification with custom path, owner, and groups

# Complete specification of all parameters
bash fix-wordpress-permissions.sh /var/www/html wpuser wpgroup apache

Enhanced security mode

# Use enhanced security permissions (770/660 instead of 775/664)
bash fix-wordpress-permissions.sh -s /var/www/html

Skip confirmation prompt

# Run without asking for confirmation (useful for scripts/automation)
bash fix-wordpress-permissions.sh -y /var/www/html

Combined options

# Enhanced security mode without confirmation
bash fix-wordpress-permissions.sh -y -s /var/www/html wpuser wpgroup apache

Permission Modes:

Standard Mode (default)

  • Directories: 755 (owner: rwx, group: rx, others: rx)
  • Files: 644 (owner: rw, group: r, others: r)
  • wp-content directories: 775 (owner: rwx, group: rwx, others: rx)
  • wp-content files: 664 (owner: rw, group: rw, others: r)
  • wp-config.php: 660 (owner: rw, group: rw, others: none)

Enhanced Security Mode (-s flag)

  • Directories: 750 (owner: rwx, group: rx, others: none)
  • Files: 640 (owner: rw, group: r, others: none)
  • wp-content directories: 770 (owner: rwx, group: rwx, others: none)
  • wp-content files: 660 (owner: rw, group: rw, others: none)
  • wp-config.php: 660 (owner: rw, group: rw, others: none)

The enhanced security mode prevents other users on the server from accessing WordPress files, providing better security in shared hosting environments.

About

configures WordPress file permissions based on recommendations from http://codex.wordpress.org/Hardening_WordPress#File_permissions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages