Skip to content

Instantly share code, notes, and snippets.

@yaroslav-borodii
Forked from macbleser/wp-permissions-script
Last active June 14, 2024 10:46
Show Gist options
  • Save yaroslav-borodii/d2f668705ae2c989a5533c340e344452 to your computer and use it in GitHub Desktop.
Save yaroslav-borodii/d2f668705ae2c989a5533c340e344452 to your computer and use it in GitHub Desktop.
WordPress Permissions Configuration Script
#!/bin/bash
#
# This script configures WordPress file permissions based on recommendations
# from http://codex.wordpress.org/Hardening_WordPress#File_permissions
#
# Author: Michael Conigliaro
#
WP_OWNER=$1 # <-- wordpress owner
WP_GROUP=$1 # <-- wordpress group
WP_ROOT=$2 # <-- wordpress root directory
WS_GROUP=$1 # <-- webserver group
# reset to safe defaults
find ${WP_ROOT} -exec chown ${WP_OWNER}:${WP_GROUP} {} \;
find ${WP_ROOT} -type d -print0 | sudo xargs -0 chmod 755
find ${WP_ROOT} -type f -print0 | sudo xargs -0 chmod 664
# allow wordpress to manage wp-config.php (but prevent world access)
chgrp ${WS_GROUP} ${WP_ROOT}/wp-config.php
chmod 660 ${WP_ROOT}/wp-config.php
# allow wordpress to manage .htaccess
touch ${WP_ROOT}/.htaccess
chgrp ${WS_GROUP} ${WP_ROOT}/.htaccess
chmod 664 ${WP_ROOT}/.htaccess
# allow wordpress to manage wp-content
find ${WP_ROOT}/wp-content -exec chgrp ${WS_GROUP} {} \;
find ${WP_ROOT}/wp-content -type d -print0 | sudo xargs -0 chmod 775
find ${WP_ROOT}/wp-content -type f -print0 | sudo xargs -0 chmod 664
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment