diff --git a/wp-includes/cache.php b/wp-includes/cache.php index fee1a887d3..0147cee5b9 100644 --- a/wp-includes/cache.php +++ b/wp-includes/cache.php @@ -205,7 +205,9 @@ class WP_Object_Cache { } if (!file_exists($this->cache_dir.$make_dir."index.php")) { + $file_perms = $perms & 0000666; @ touch($this->cache_dir.$make_dir."index.php"); + @ chmod($this->cache_dir.$make_dir."index.php", $file_perms); } } @@ -268,7 +270,8 @@ class WP_Object_Cache { // Give the new dirs the same perms as wp-content. $stat = stat(ABSPATH.'wp-content'); - $dir_perms = $stat['mode'] & 0000777; // Get the permission bits. + $dir_perms = $stat['mode'] & 0007777; // Get the permission bits. + $file_perms = $dir_perms & 0000666; // Remove execute bits for files. // Make the base cache dir. if (!file_exists($this->cache_dir)) { @@ -279,6 +282,7 @@ class WP_Object_Cache { if (!file_exists($this->cache_dir."index.php")) { @ touch($this->cache_dir."index.php"); + @ chmod($this->cache_dir."index.php", $file_perms); } // Acquire a write lock. @@ -314,6 +318,7 @@ class WP_Object_Cache { @ unlink($temp_file); } } + @ chmod($cache_file, $file_perms); } } diff --git a/wp-includes/functions-post.php b/wp-includes/functions-post.php index 358ab3fe5a..d852a0563f 100644 --- a/wp-includes/functions-post.php +++ b/wp-includes/functions-post.php @@ -862,7 +862,7 @@ function wp_upload_dir() { // Give the new dirs the same perms as wp-content. $stat = stat(ABSPATH . 'wp-content'); - $dir_perms = $stat['mode'] & 0000777; // Get the permission bits. + $dir_perms = $stat['mode'] & 0007777; // Get the permission bits. // Make sure we have an uploads dir if ( ! file_exists( $path ) ) { @@ -929,7 +929,8 @@ function wp_upload_bits($name, $type, $bits) { fclose($ifp); // Set correct file permissions $stat = @ stat(dirname($new_file)); - $perms = $stat['mode'] & 0000777; + $perms = $stat['mode'] & 0007777; + $perms = $perms & 0000666; @ chmod($new_file, $perms); // Compute the URL