Forked from Adirael/fix-wordpress-permissions.sh
Last active
February 5, 2020 06:39
-
-
Save ninadpchaudhari/5c32d596670e5253a15c6deb69642698 to your computer and use it in GitHub Desktop.
Fix wordpress file permissions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# This script configures WordPress file permissions based on recommendations | |
# from http://codex.wordpress.org/Hardening_WordPress#File_permissions | |
# | |
# Author: Michael Conigliaro <mike [at] conigliaro [dot] org> | |
# Edited: Ninad Chaudhari <[email protected]> | |
# https://gist.github.com/ninadpchaudhari/5c32d596670e5253a15c6deb69642698 | |
if [[ $# -eq 0 ]] ; then | |
echo "Argument for location of WP_ROOT not provided" | |
exit 1 | |
fi | |
# Bash script for checking whether WordPress is installed or not | |
if ! $(wp core is-installed --path=$1); then | |
echo "Path you specified does not have a valid Wordpress installation" | |
exit 1 | |
fi | |
echo "WP_ROOT path you specified exists and has a valid wordpress installation" | |
echo "Processing the directory for correction of permissions" | |
WP_OWNER=www-data # <-- wordpress owner !!!!!!MODIFY THIS!!!!!!!! | |
WP_GROUP=www-data # <-- wordpress group | |
WP_ROOT=$1 # <-- wordpress root directory | |
WS_GROUP=www-data # <-- webserver group | |
# reset to safe defaults | |
find ${WP_ROOT} -exec chown ${WP_OWNER}:${WP_GROUP} {} \; | |
find ${WP_ROOT} -type d -exec chmod 755 {} \; | |
find ${WP_ROOT} -type f -exec chmod 644 {} \; | |
# 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 wp-content | |
find ${WP_ROOT}/wp-content -exec chgrp ${WS_GROUP} {} \; | |
find ${WP_ROOT}/wp-content -type d -exec chmod 775 {} \; | |
find ${WP_ROOT}/wp-content -type f -exec chmod 664 {} \; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment