diff --git a/app/bootstrap.php b/app/bootstrap.php
index 63fe76b45629795ff904a514aeca6f6faae5b6ef..51fe7bf3cd90eb3a0044dc82ed3eb647000c4f09 100644
--- a/app/bootstrap.php
+++ b/app/bootstrap.php
@@ -9,7 +9,6 @@
  */
 error_reporting(E_ALL);
 #ini_set('display_errors', 1);
-umask(0);
 
 /* PHP version validation */
 if (version_compare(phpversion(), '5.5.0', '<') === true) {
diff --git a/app/code/Magento/Backup/Model/Fs/Collection.php b/app/code/Magento/Backup/Model/Fs/Collection.php
index ffe89eeb6dd29f926f811b1ee995f2f2edb7d01f..888a072a57d6607149969537f2c87ce3594b1b18 100644
--- a/app/code/Magento/Backup/Model/Fs/Collection.php
+++ b/app/code/Magento/Backup/Model/Fs/Collection.php
@@ -91,7 +91,6 @@ class Collection extends \Magento\Framework\Data\Collection\Filesystem
         $filename = '.htaccess';
         if (!$this->_varDirectory->isFile($filename)) {
             $this->_varDirectory->writeFile($filename, 'deny from all');
-            $this->_varDirectory->changePermissions($filename, 0640);
         }
     }
 
diff --git a/app/code/Magento/Captcha/Helper/Data.php b/app/code/Magento/Captcha/Helper/Data.php
index 05d33045eaafc476daf6b76854885409eb246516..8892ddc1ed375157707288a875e09f7a8d578dce 100644
--- a/app/code/Magento/Captcha/Helper/Data.php
+++ b/app/code/Magento/Captcha/Helper/Data.php
@@ -150,8 +150,6 @@ class Data extends \Magento\Framework\App\Helper\AbstractHelper
         $mediaDir = $this->_filesystem->getDirectoryWrite(DirectoryList::MEDIA);
         $captchaDir = '/captcha/' . $this->_getWebsiteCode($website);
         $mediaDir->create($captchaDir);
-        $mediaDir->changePermissions($captchaDir, DriverInterface::WRITEABLE_DIRECTORY_MODE);
-
         return $mediaDir->getAbsolutePath($captchaDir) . '/';
     }
 
diff --git a/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php b/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php
index f9545bc9c77086c7fdd0dc0c3fe14e8798f97b2b..05efbfa15579ccdc0cacb2d3faafc2d30d30a306 100644
--- a/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php
+++ b/app/code/Magento/Catalog/Model/Product/Gallery/Processor.php
@@ -157,7 +157,6 @@ class Processor
                 $this->mediaDirectory->copyFile($file, $destinationFile);
 
                 $storageHelper->saveFile($this->mediaConfig->getTmpMediaShortUrl($fileName));
-                $this->mediaDirectory->changePermissions($destinationFile, DriverInterface::WRITEABLE_FILE_MODE);
             }
         } catch (\Exception $e) {
             throw new LocalizedException(__('We couldn\'t move this file: %1.', $e->getMessage()));
diff --git a/app/code/Magento/Deploy/Model/Filesystem.php b/app/code/Magento/Deploy/Model/Filesystem.php
index 0bc5d358c833521012e312543afe7766df4105fa..bef6d7a558d2be5f335460a08003eb682d6307f9 100644
--- a/app/code/Magento/Deploy/Model/Filesystem.php
+++ b/app/code/Magento/Deploy/Model/Filesystem.php
@@ -20,11 +20,15 @@ class Filesystem
 {
     /**
      * File access permissions
+     *
+     * @deprecated
      */
     const PERMISSIONS_FILE = 0640;
 
     /**
      * Directory access permissions
+     *
+     * @deprecated
      */
     const PERMISSIONS_DIR = 0750;
 
@@ -109,19 +113,10 @@ class Filesystem
                 DirectoryList::TMP_MATERIALIZATION_DIR
             ]
         );
-        $this->changePermissions(
-            [
-                DirectoryList::STATIC_VIEW
-            ],
-            self::PERMISSIONS_DIR,
-            self::PERMISSIONS_DIR
-        );
-
         // Trigger static assets compilation and deployment
         $this->deployStaticContent($output);
         // Trigger code generation
         $this->compile($output);
-        $this->lockStaticResources();
     }
 
     /**
@@ -227,6 +222,8 @@ class Filesystem
      * @param int $dirPermissions
      * @param int $filePermissions
      * @return void
+     *
+     * @deprecated
      */
     protected function changePermissions($directoryCodeList, $dirPermissions, $filePermissions)
     {
@@ -245,6 +242,8 @@ class Filesystem
      * Chenge permissions on static resources
      *
      * @return void
+     *
+     * @deprecated
      */
     public function lockStaticResources()
     {
diff --git a/app/code/Magento/Deploy/Model/Mode.php b/app/code/Magento/Deploy/Model/Mode.php
index bcfe9bce215f153ea269d4a6117afa8601a5cb22..788fb897a88109d085b0ba9be067d226abe86518 100644
--- a/app/code/Magento/Deploy/Model/Mode.php
+++ b/app/code/Magento/Deploy/Model/Mode.php
@@ -92,7 +92,6 @@ class Mode
      */
     public function enableProductionModeMinimal()
     {
-        $this->filesystem->lockStaticResources();
         $this->setStoreMode(State::MODE_PRODUCTION);
     }
 
diff --git a/app/code/Magento/Translation/Model/FileManager.php b/app/code/Magento/Translation/Model/FileManager.php
index d15a8ffbb53bd7f036d831295f9107539948f752..b937a51baee46a73cbb6535a514ce9c7ea76ed71 100644
--- a/app/code/Magento/Translation/Model/FileManager.php
+++ b/app/code/Magento/Translation/Model/FileManager.php
@@ -100,10 +100,7 @@ class FileManager
             \DIRECTORY_SEPARATOR .
             $this->assetRepo->getStaticViewFileContext()->getPath();
         if (!$this->driverFile->isExists($this->getTranslationFileFullPath())) {
-            $this->driverFile->createDirectory(
-                $translationDir,
-                \Magento\Framework\Filesystem\Driver\File::WRITEABLE_DIRECTORY_MODE
-            );
+            $this->driverFile->createDirectory($translationDir);
         }
         $this->driverFile->filePutContents($this->getTranslationFileFullPath(), $content);
     }
diff --git a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/AbstractFactory.php b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/AbstractFactory.php
index 6cb159e9c970c49ddf3a52e4ff3d7d3c5bfb16cb..5d2a9d9f478e1a617011c70d1bd0fa6873e22478 100644
--- a/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/AbstractFactory.php
+++ b/dev/tests/functional/lib/Magento/Mtf/Util/Generate/Factory/AbstractFactory.php
@@ -105,7 +105,7 @@ abstract class AbstractFactory
      * @return bool
      * @throws \Exception
      */
-    protected function checkAndCreateFolder($folder, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE)
+    protected function checkAndCreateFolder($folder, $mode = 0777)
     {
         if (is_dir($folder)) {
             return true;
@@ -127,7 +127,7 @@ abstract class AbstractFactory
      * @param bool $recursive
      * @return bool
      */
-    protected function mkDir($dir, $mode = 0770, $recursive = true)
+    protected function mkDir($dir, $mode = 0777, $recursive = true)
     {
         return @mkdir($dir, $mode, $recursive);
     }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Application.php b/dev/tests/integration/framework/Magento/TestFramework/Application.php
index 0a0676054bf812f5c285faaab9c9f07ff3a99099..ef6b3e24da8e05c3897b298c14f2c6f0a26a56f2 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Application.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Application.php
@@ -577,7 +577,7 @@ class Application
     {
         if (!file_exists($dir)) {
             $old = umask(0);
-            mkdir($dir, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+            mkdir($dir);
             umask($old);
         } elseif (!is_dir($dir)) {
             throw new \Magento\Framework\Exception\LocalizedException(__("'%1' is not a directory.", $dir));
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
index e367ed3441d040dd385644a8ac24717590a96372..a3baf43c5494910c6a3f4b384a45a76c86ec13ec 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
@@ -25,7 +25,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
             'Magento\Cms\Helper\Wysiwyg\Images'
         )->getCurrentPath() . 'MagentoCmsModelWysiwygImagesStorageTest';
         if (!file_exists(self::$_baseDir)) {
-            mkdir(self::$_baseDir, 0770);
+            mkdir(self::$_baseDir);
         }
         touch(self::$_baseDir . '/1.swf');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Directory/WriteTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Directory/WriteTest.php
index 03f627d480f8afb63f8725ecd836f247b5b2768e..ea3348b51ceda4e1dde0990f318e6e004fe3a1b3 100644
--- a/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Directory/WriteTest.php
+++ b/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Directory/WriteTest.php
@@ -28,7 +28,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function testInstance()
     {
-        $dir = $this->getDirectoryInstance('newDir1', 0770);
+        $dir = $this->getDirectoryInstance('newDir1', 0777);
         $this->assertTrue($dir instanceof ReadInterface);
         $this->assertTrue($dir instanceof WriteInterface);
     }
@@ -56,10 +56,10 @@ class WriteTest extends \PHPUnit_Framework_TestCase
     public function createProvider()
     {
         return [
-            ['newDir1', 0770, "newDir1"],
-            ['newDir1', 0770, "root_dir1/subdir1/subdir2"],
-            ['newDir2', 0750, "root_dir2/subdir"],
-            ['newDir1', 0770, "."]
+            ['newDir1', 0777, "newDir1"],
+            ['newDir1', 0777, "root_dir1/subdir1/subdir2"],
+            ['newDir2', 0777, "root_dir2/subdir"],
+            ['newDir1', 0777, "."]
         ];
     }
 
@@ -71,7 +71,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function testDelete($path)
     {
-        $directory = $this->getDirectoryInstance('newDir', 0770);
+        $directory = $this->getDirectoryInstance('newDir', 0777);
         $directory->create($path);
         $this->assertTrue($directory->isExist($path));
         $directory->delete($path);
@@ -116,7 +116,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function renameProvider()
     {
-        return [['newDir1', 0770, 'first_name.txt', 'second_name.txt']];
+        return [['newDir1', 0777, 'first_name.txt', 'second_name.txt']];
     }
 
     /**
@@ -150,7 +150,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function renameTargetDirProvider()
     {
-        return [['dir1', 'dir2', 0770, 'first_name.txt', 'second_name.txt']];
+        return [['dir1', 'dir2', 0777, 'first_name.txt', 'second_name.txt']];
     }
 
     /**
@@ -180,8 +180,8 @@ class WriteTest extends \PHPUnit_Framework_TestCase
     public function copyProvider()
     {
         return [
-            ['newDir1', 0770, 'first_name.txt', 'second_name.txt'],
-            ['newDir1', 0770, 'subdir/first_name.txt', 'subdir/second_name.txt']
+            ['newDir1', 0777, 'first_name.txt', 'second_name.txt'],
+            ['newDir1', 0777, 'subdir/first_name.txt', 'subdir/second_name.txt']
         ];
     }
 
@@ -216,8 +216,8 @@ class WriteTest extends \PHPUnit_Framework_TestCase
     public function copyTargetDirProvider()
     {
         return [
-            ['dir1', 'dir2', 0770, 'first_name.txt', 'second_name.txt'],
-            ['dir1', 'dir2', 0770, 'subdir/first_name.txt', 'subdir/second_name.txt']
+            ['dir1', 'dir2', 0777, 'first_name.txt', 'second_name.txt'],
+            ['dir1', 'dir2', 0777, 'subdir/first_name.txt', 'subdir/second_name.txt']
         ];
     }
 
@@ -226,9 +226,9 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function testChangePermissions()
     {
-        $directory = $this->getDirectoryInstance('newDir1', 0770);
+        $directory = $this->getDirectoryInstance('newDir1', 0777);
         $directory->create('test_directory');
-        $this->assertTrue($directory->changePermissions('test_directory', 0640));
+        $this->assertTrue($directory->changePermissions('test_directory', 0644));
     }
 
     /**
@@ -241,7 +241,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
         $directory->create('test_directory/subdirectory');
         $directory->writeFile('test_directory/subdirectory/test_file.txt', 'Test Content');
 
-        $this->assertTrue($directory->changePermissionsRecursively('test_directory', 0750, 0640));
+        $this->assertTrue($directory->changePermissionsRecursively('test_directory', 0777, 0644));
     }
 
     /**
@@ -269,8 +269,8 @@ class WriteTest extends \PHPUnit_Framework_TestCase
     public function touchProvider()
     {
         return [
-            ['test_directory', 0770, 'touch_file.txt', time() - 3600],
-            ['test_directory', 0770, 'subdirectory/touch_file.txt', time() - 3600]
+            ['test_directory', 0777, 'touch_file.txt', time() - 3600],
+            ['test_directory', 0777, 'subdirectory/touch_file.txt', time() - 3600]
         ];
     }
 
@@ -279,7 +279,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function testIsWritable()
     {
-        $directory = $this->getDirectoryInstance('newDir1', 0770);
+        $directory = $this->getDirectoryInstance('newDir1', 0777);
         $directory->create('bar');
         $this->assertFalse($directory->isWritable('not_existing_dir'));
         $this->assertTrue($directory->isWritable('bar'));
@@ -310,8 +310,8 @@ class WriteTest extends \PHPUnit_Framework_TestCase
     public function openFileProvider()
     {
         return [
-            ['newDir1', 0770, 'newFile.txt', 'w+'],
-            ['newDir1', 0770, 'subdirectory/newFile.txt', 'w+']
+            ['newDir1', 0777, 'newFile.txt', 'w+'],
+            ['newDir1', 0777, 'subdirectory/newFile.txt', 'w+']
         ];
     }
 
@@ -325,7 +325,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function testWriteFile($path, $content, $extraContent)
     {
-        $directory = $this->getDirectoryInstance('writeFileDir', 0770);
+        $directory = $this->getDirectoryInstance('writeFileDir', 0777);
         $directory->writeFile($path, $content);
         $this->assertEquals($content, $directory->readFile($path));
         $directory->writeFile($path, $extraContent);
@@ -342,7 +342,7 @@ class WriteTest extends \PHPUnit_Framework_TestCase
      */
     public function testWriteFileAppend($path, $content, $extraContent)
     {
-        $directory = $this->getDirectoryInstance('writeFileDir', 0770);
+        $directory = $this->getDirectoryInstance('writeFileDir', 0777);
         $directory->writeFile($path, $content, 'a+');
         $this->assertEquals($content, $directory->readFile($path));
         $directory->writeFile($path, $extraContent, 'a+');
diff --git a/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Driver/FileTest.php b/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Driver/FileTest.php
index 076a4aaca134ff2b6b83994838784afb64006dcc..d060134274dc4821c9b4f2d572736c0ab7013ca3 100644
--- a/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Driver/FileTest.php
+++ b/dev/tests/integration/testsuite/Magento/Framework/Filesystem/Driver/FileTest.php
@@ -77,7 +77,7 @@ class FileTest extends \PHPUnit_Framework_TestCase
         if (is_dir($generatedPath)) {
             $this->assertTrue($this->driver->deleteDirectory($generatedPathBase));
         }
-        $this->assertTrue($this->driver->createDirectory($generatedPath, DriverInterface::WRITEABLE_DIRECTORY_MODE));
+        $this->assertTrue($this->driver->createDirectory($generatedPath));
         $this->assertTrue(is_dir($generatedPath));
     }
 }
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php
index e4883336aa45d3a3327c6f785858a153dc8e2547..9477def83d2002270d5d83d68d54fcd54001a962 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/CompilerTest.php
@@ -70,15 +70,14 @@ class CompilerTest extends \PHPUnit_Framework_TestCase
         $basePath = BP;
         $basePath = str_replace('\\', '/', $basePath);
 
-
         $this->_tmpDir = realpath(__DIR__) . '/tmp';
         $this->_generationDir = $this->_tmpDir . '/generation';
         if (!file_exists($this->_generationDir)) {
-            mkdir($this->_generationDir, 0770, true);
+            mkdir($this->_generationDir, 0777, true);
         }
         $this->_compilationDir = $this->_tmpDir . '/di';
         if (!file_exists($this->_compilationDir)) {
-            mkdir($this->_compilationDir, 0770, true);
+            mkdir($this->_compilationDir, 0777, true);
         }
 
         $this->_command = 'php ' . $basePath . '/bin/magento setup:di:compile-multi-tenant --generation=%s --di=%s';
diff --git a/dev/tests/static/testsuite/Magento/Test/Js/Exemplar/JsHintTest.php b/dev/tests/static/testsuite/Magento/Test/Js/Exemplar/JsHintTest.php
index 41f50f985167d20f96d83d698eb3b08f2d0efb4e..64cdf4906e2caa21bbe62fcd20410250e64b69c4 100644
--- a/dev/tests/static/testsuite/Magento/Test/Js/Exemplar/JsHintTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Js/Exemplar/JsHintTest.php
@@ -29,7 +29,7 @@ class JsHintTest extends \PHPUnit_Framework_TestCase
     {
         $reportFile = self::$_cmd->getReportFile();
         if (!is_dir(dirname($reportFile))) {
-            mkdir(dirname($reportFile), 0770);
+            mkdir(dirname($reportFile));
         }
     }
 
diff --git a/dev/tests/static/testsuite/Magento/Test/Js/LiveCodeTest.php b/dev/tests/static/testsuite/Magento/Test/Js/LiveCodeTest.php
index e0de4179198ba6f4b7576c5b7d03af13a2ac520b..955e39d3ea8255b3d9e312ebf90ba7df12fc63aa 100644
--- a/dev/tests/static/testsuite/Magento/Test/Js/LiveCodeTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Js/LiveCodeTest.php
@@ -60,7 +60,7 @@ class LiveCodeTest extends \PHPUnit_Framework_TestCase
     {
         $reportDir = BP . '/dev/tests/static/report';
         if (!is_dir($reportDir)) {
-            mkdir($reportDir, 0770);
+            mkdir($reportDir);
         }
         self::$_reportFile = $reportDir . '/js_report.txt';
         @unlink(self::$_reportFile);
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/LiveCodeTest.php b/dev/tests/static/testsuite/Magento/Test/Php/LiveCodeTest.php
index a3ac3034df2ac124bea0a38c297780ebcc0e0146..b0d448a71651d7deb2edfd7a218559d6a25d1770 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/LiveCodeTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Php/LiveCodeTest.php
@@ -42,7 +42,7 @@ class LiveCodeTest extends PHPUnit_Framework_TestCase
         self::$pathToSource = BP;
         self::$reportDir = self::$pathToSource . '/dev/tests/static/report';
         if (!is_dir(self::$reportDir)) {
-            mkdir(self::$reportDir, 0770);
+            mkdir(self::$reportDir);
         }
     }
 
diff --git a/lib/internal/Magento/Framework/App/Cache/Frontend/Factory.php b/lib/internal/Magento/Framework/App/Cache/Frontend/Factory.php
index 169b350161d02e0186798cc6c15125d20eddd65f..c904a049e68cd1ef949f8f6145c470782718a929 100644
--- a/lib/internal/Magento/Framework/App/Cache/Frontend/Factory.php
+++ b/lib/internal/Magento/Framework/App/Cache/Frontend/Factory.php
@@ -20,6 +20,7 @@ class Factory
      * Default cache entry lifetime
      */
     const DEFAULT_LIFETIME = 7200;
+
     /**
      * Caching params, that applied for all cache frontends regardless of type
      */
@@ -67,7 +68,7 @@ class Factory
      */
     protected $_backendOptions = [
         'hashed_directory_level' => 1,
-        'hashed_directory_umask' => DriverInterface::WRITEABLE_DIRECTORY_MODE,
+        'hashed_directory_umask' => 0777,
         'file_name_prefix' => 'mage',
     ];
 
diff --git a/lib/internal/Magento/Framework/Archive/Helper/File.php b/lib/internal/Magento/Framework/Archive/Helper/File.php
index 4a72a2846a75b578fc5df6dc517c967283783904..a0e8b3084e85500afa3174685655064a10d87431 100644
--- a/lib/internal/Magento/Framework/Archive/Helper/File.php
+++ b/lib/internal/Magento/Framework/Archive/Helper/File.php
@@ -91,7 +91,7 @@ class File
      * @throws LocalizedException
      * @SuppressWarnings(PHPMD.CyclomaticComplexity)
      */
-    public function open($mode = 'w+', $chmod = DriverInterface::WRITEABLE_FILE_MODE)
+    public function open($mode = 'w+', $chmod = null)
     {
         $this->_isInWriteMode = $this->_isWritableMode($mode);
 
@@ -182,7 +182,7 @@ class File
         $this->_close();
         $this->_fileHandler = false;
 
-        if ($this->_isInWriteMode) {
+        if ($this->_isInWriteMode && isset($this->_chmod)) {
             @chmod($this->_filePath, $this->_chmod);
         }
     }
diff --git a/lib/internal/Magento/Framework/Archive/Tar.php b/lib/internal/Magento/Framework/Archive/Tar.php
index d02fc9e24cb3d847107ec2d69495b32f1c869dd9..fc57ef134023fe0663621080897551a90abc5493 100644
--- a/lib/internal/Magento/Framework/Archive/Tar.php
+++ b/lib/internal/Magento/Framework/Archive/Tar.php
@@ -404,7 +404,7 @@ class Tar extends \Magento\Framework\Archive\AbstractArchive implements \Magento
 
             if (in_array($header['type'], ["0", chr(0), ''])) {
                 if (!file_exists($dirname)) {
-                    $mkdirResult = @mkdir($dirname, DriverInterface::WRITEABLE_DIRECTORY_MODE, true);
+                    $mkdirResult = @mkdir($dirname, 0777, true);
 
                     if (false === $mkdirResult) {
                         throw new \Magento\Framework\Exception\LocalizedException(
diff --git a/lib/internal/Magento/Framework/Backup/Filesystem.php b/lib/internal/Magento/Framework/Backup/Filesystem.php
index 4577bdda32e32444d93a4846898c9821b13dda74..ce1aa07ea37a30f954c40ae4f6d977a7144c6eb6 100644
--- a/lib/internal/Magento/Framework/Backup/Filesystem.php
+++ b/lib/internal/Magento/Framework/Backup/Filesystem.php
@@ -279,7 +279,7 @@ class Filesystem extends AbstractBackup
             }
 
             mkdir($backupsDir);
-            chmod($backupsDir, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+            chmod($backupsDir);
         }
 
         if (!is_writable($backupsDir)) {
diff --git a/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Ftp.php b/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Ftp.php
index 44ec96f4dcae3c120a0ea9edfcc3e298d8ef1f8d..11c689884cb03550a764b77582ab3cd8cddb80ff 100644
--- a/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Ftp.php
+++ b/lib/internal/Magento/Framework/Backup/Filesystem/Rollback/Ftp.php
@@ -126,7 +126,7 @@ class Ftp extends AbstractRollback
     {
         $tmpDir = $this->_snapshot->getBackupsDir() . '/~tmp-' . microtime(true);
 
-        $result = @mkdir($tmpDir, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+        $result = @mkdir($tmpDir);
 
         if (false === $result) {
             throw new \Magento\Framework\Backup\Exception\NotEnoughPermissions(
diff --git a/lib/internal/Magento/Framework/Code/Generator/Io.php b/lib/internal/Magento/Framework/Code/Generator/Io.php
index 4bdd3851eeb8fa425ac9683aa27268bb97a58fd4..aac1eea8d6cbe515796e1fe30b31e2585a1e835b 100644
--- a/lib/internal/Magento/Framework/Code/Generator/Io.php
+++ b/lib/internal/Magento/Framework/Code/Generator/Io.php
@@ -169,7 +169,7 @@ class Io
         }
         try {
             if (!$this->filesystemDriver->isDirectory($directory)) {
-                $this->filesystemDriver->createDirectory($directory, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+                $this->filesystemDriver->createDirectory($directory);
             }
             return true;
         } catch (FileSystemException $e) {
diff --git a/lib/internal/Magento/Framework/File/Uploader.php b/lib/internal/Magento/Framework/File/Uploader.php
index 573b2efdd4d8d35701b75e1e4e06d49ba3aa3ee9..14077be8aeba272bddae4205eb360a254e2a5bd6 100644
--- a/lib/internal/Magento/Framework/File/Uploader.php
+++ b/lib/internal/Magento/Framework/File/Uploader.php
@@ -223,7 +223,6 @@ class Uploader
         $this->_result = $this->_moveFile($this->_file['tmp_name'], $destinationFile);
 
         if ($this->_result) {
-            $this->chmod($destinationFile);
             if ($this->_enableFilesDispersion) {
                 $fileName = str_replace('\\', '/', self::_addDirSeparator($this->_dispretionPath)) . $fileName;
             }
@@ -242,10 +241,12 @@ class Uploader
     /**
      * @param string $file
      * @return void
+     *
+     * @deprecated
      */
     protected function chmod($file)
     {
-        chmod($file, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+        chmod($file, 0777);
     }
 
     /**
@@ -554,7 +555,7 @@ class Uploader
         }
 
         if (!(@is_dir($destinationFolder)
-            || @mkdir($destinationFolder, DriverInterface::WRITEABLE_DIRECTORY_MODE, true)
+            || @mkdir($destinationFolder, 0777, true)
         )) {
             throw new \Exception("Unable to create directory '{$destinationFolder}'.");
         }
diff --git a/lib/internal/Magento/Framework/Filesystem/Directory/Write.php b/lib/internal/Magento/Framework/Filesystem/Directory/Write.php
index 22ffa68bd70391f1656d5352d4f718f3f3b457d5..0a46a17c10b22e55e7379abe2dcba648b2bcb8b3 100644
--- a/lib/internal/Magento/Framework/Filesystem/Directory/Write.php
+++ b/lib/internal/Magento/Framework/Filesystem/Directory/Write.php
@@ -15,7 +15,7 @@ class Write extends Read implements WriteInterface
      *
      * @var int
      */
-    protected $permissions = DriverInterface::WRITEABLE_DIRECTORY_MODE;
+    protected $permissions = 0777;
 
     /**
      * Constructor
diff --git a/lib/internal/Magento/Framework/Filesystem/Driver/File.php b/lib/internal/Magento/Framework/Filesystem/Driver/File.php
index a0b9afcd2caae6323908e97997acc44b6dffba1a..8f7d888544f50f250a9449d5290242dc5d2a3b6d 100644
--- a/lib/internal/Magento/Framework/Filesystem/Driver/File.php
+++ b/lib/internal/Magento/Framework/Filesystem/Driver/File.php
@@ -194,7 +194,7 @@ class File implements DriverInterface
      * @return bool
      * @throws FileSystemException
      */
-    public function createDirectory($path, $permissions)
+    public function createDirectory($path, $permissions = 0777)
     {
         return $this->mkdirRecursive($path, $permissions);
     }
@@ -207,7 +207,7 @@ class File implements DriverInterface
      * @return bool
      * @throws FileSystemException
      */
-    private function mkdirRecursive($path, $permissions)
+    private function mkdirRecursive($path, $permissions = 0777)
     {
         $path = $this->getScheme() . $path;
         if (is_dir($path)) {
diff --git a/lib/internal/Magento/Framework/Filesystem/DriverInterface.php b/lib/internal/Magento/Framework/Filesystem/DriverInterface.php
index 2d1748afb15ce60ad31e774cf1e0acedb8415891..5e297b237e24285587899733fdd6c8cc2494a097 100644
--- a/lib/internal/Magento/Framework/Filesystem/DriverInterface.php
+++ b/lib/internal/Magento/Framework/Filesystem/DriverInterface.php
@@ -16,11 +16,15 @@ interface DriverInterface
 {
     /**
      * Permissions to give read/write/execute access to owner and owning group, but not to all users
+     *
+     * @deprecated
      */
     const WRITEABLE_DIRECTORY_MODE = 0770;
 
     /**
      * Permissions to give read/write access to owner and owning group, but not to all users
+     *
+     * @deprecated
      */
     const WRITEABLE_FILE_MODE = 0660;
 
@@ -104,7 +108,7 @@ interface DriverInterface
      * @return bool
      * @throws FileSystemException
      */
-    public function createDirectory($path, $permissions);
+    public function createDirectory($path, $permissions = 0777);
 
     /**
      * Read directory
diff --git a/lib/internal/Magento/Framework/Filesystem/Io/File.php b/lib/internal/Magento/Framework/Filesystem/Io/File.php
index 65c92dfd37e17fbfcef894f32c3745712e117e0d..a835c4b25fe9d97b60b93f95c72f8d69f97b6cc9 100644
--- a/lib/internal/Magento/Framework/Filesystem/Io/File.php
+++ b/lib/internal/Magento/Framework/Filesystem/Io/File.php
@@ -301,7 +301,7 @@ class File extends AbstractIo
      * @param bool $recursive
      * @return bool
      */
-    public function mkdir($dir, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE, $recursive = true)
+    public function mkdir($dir, $mode = 0777, $recursive = true)
     {
         $this->_cwd();
         $result = @mkdir($dir, $mode, $recursive);
@@ -553,7 +553,7 @@ class File extends AbstractIo
      * @return true
      * @throws \Exception
      */
-    public function checkAndCreateFolder($folder, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE)
+    public function checkAndCreateFolder($folder, $mode = 0777)
     {
         if (is_dir($folder)) {
             return true;
diff --git a/lib/internal/Magento/Framework/Filesystem/Io/Ftp.php b/lib/internal/Magento/Framework/Filesystem/Io/Ftp.php
index 85d4c5fcd760487083f56f386f5eb944f9e48a40..eb14a261b48b68365f3ab59dfb21b3ac39901491 100644
--- a/lib/internal/Magento/Framework/Filesystem/Io/Ftp.php
+++ b/lib/internal/Magento/Framework/Filesystem/Io/Ftp.php
@@ -159,7 +159,7 @@ class Ftp extends AbstractIo
      * @return bool
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
-    public function mkdir($dir, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE, $recursive = true)
+    public function mkdir($dir, $mode = 0777, $recursive = true)
     {
         return @ftp_mkdir($this->_conn, $dir);
     }
diff --git a/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php b/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php
index b3b01736e2b2f97664fcafd61aa60fd1c52de1cb..1adba174ede3e9bf4295016aac534eab6066af53 100644
--- a/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php
+++ b/lib/internal/Magento/Framework/Filesystem/Io/IoInterface.php
@@ -35,7 +35,7 @@ interface IoInterface
      * @param bool $recursive
      * @return bool
      */
-    public function mkdir($dir, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE, $recursive = true);
+    public function mkdir($dir, $mode = 0777, $recursive = true);
 
     /**
      * Delete a directory
diff --git a/lib/internal/Magento/Framework/Filesystem/Io/Sftp.php b/lib/internal/Magento/Framework/Filesystem/Io/Sftp.php
index db5ae3af625e751dcb6fb5c17cdd8f32f03c3183..f655442691423d937b3e1a30acfb6a0f233c37b2 100644
--- a/lib/internal/Magento/Framework/Filesystem/Io/Sftp.php
+++ b/lib/internal/Magento/Framework/Filesystem/Io/Sftp.php
@@ -78,7 +78,7 @@ class Sftp extends AbstractIo
      * @return bool
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
-    public function mkdir($dir, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE, $recursive = true)
+    public function mkdir($dir, $mode = 0777, $recursive = true)
     {
         if ($recursive) {
             $no_errors = true;
diff --git a/lib/internal/Magento/Framework/Logger/Handler/Base.php b/lib/internal/Magento/Framework/Logger/Handler/Base.php
index 36a8cbb4a09eeae3421dd8ea7aad09290aded49b..21c71ef4d64752acabae9871ba49a3c25191d389 100644
--- a/lib/internal/Magento/Framework/Logger/Handler/Base.php
+++ b/lib/internal/Magento/Framework/Logger/Handler/Base.php
@@ -54,7 +54,7 @@ class Base extends StreamHandler
     {
         $logDir = $this->filesystem->getParentDirectory($this->url);
         if (!$this->filesystem->isDirectory($logDir)) {
-            $this->filesystem->createDirectory($logDir, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+            $this->filesystem->createDirectory($logDir);
         }
 
         parent::write($record);
diff --git a/lib/internal/Magento/Framework/Setup/BackupRollback.php b/lib/internal/Magento/Framework/Setup/BackupRollback.php
index 7bc6ae974d285e5ea2b6e04919cd207aceee6c86..abc65749853a8b671a98ec38ea034430f9030183 100644
--- a/lib/internal/Magento/Framework/Setup/BackupRollback.php
+++ b/lib/internal/Magento/Framework/Setup/BackupRollback.php
@@ -121,7 +121,7 @@ class BackupRollback
             throw new LocalizedException(new Phrase("This backup type \'$type\' is not supported."));
         }
         if (!$this->file->isExists($this->backupsDir)) {
-            $this->file->createDirectory($this->backupsDir, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+            $this->file->createDirectory($this->backupsDir);
         }
         $fsBackup->setBackupsDir($this->backupsDir);
         $fsBackup->setBackupExtension('tgz');
@@ -201,7 +201,7 @@ class BackupRollback
         $dbBackup = $this->objectManager->create('Magento\Framework\Backup\Db');
         $dbBackup->setRootDir($this->directoryList->getRoot());
         if (!$this->file->isExists($this->backupsDir)) {
-            $this->file->createDirectory($this->backupsDir, DriverInterface::WRITEABLE_DIRECTORY_MODE);
+            $this->file->createDirectory($this->backupsDir);
         }
         $dbBackup->setBackupsDir($this->backupsDir);
         $dbBackup->setBackupExtension('sql');
diff --git a/lib/internal/Magento/Framework/Setup/Test/Unit/BackupRollbackTest.php b/lib/internal/Magento/Framework/Setup/Test/Unit/BackupRollbackTest.php
index 349b722d1359d1f8ddec1def5e441758f466bfd3..f8fa352fbbbea55cd9b3f1f2396555c0a4c70460 100644
--- a/lib/internal/Magento/Framework/Setup/Test/Unit/BackupRollbackTest.php
+++ b/lib/internal/Magento/Framework/Setup/Test/Unit/BackupRollbackTest.php
@@ -107,7 +107,7 @@ class BackupRollbackTest extends \PHPUnit_Framework_TestCase
         $this->filesystem->expects($this->once())
             ->method('create');
         $this->file->expects($this->once())->method('isExists')->with($this->path . '/backups')->willReturn(false);
-        $this->file->expects($this->once())->method('createDirectory')->with($this->path . '/backups', 0770);
+        $this->file->expects($this->once())->method('createDirectory')->with($this->path . '/backups', 0777);
         $this->model->codeBackup(time());
     }
 
@@ -158,7 +158,7 @@ class BackupRollbackTest extends \PHPUnit_Framework_TestCase
         $this->filesystem->expects($this->once())
             ->method('create');
         $this->file->expects($this->once())->method('isExists')->with($this->path . '/backups')->willReturn(false);
-        $this->file->expects($this->once())->method('createDirectory')->with($this->path . '/backups', 0770);
+        $this->file->expects($this->once())->method('createDirectory')->with($this->path . '/backups', 0777);
         $this->model->codeBackup(time(), Factory::TYPE_MEDIA);
     }
 
diff --git a/lib/internal/Magento/Framework/System/Dirs.php b/lib/internal/Magento/Framework/System/Dirs.php
index 0e16ddfbf11fa76eb706294e8ebd8e6233081a9c..5e3e9040ef7519545abeab53e4bd693ac9f9b08d 100644
--- a/lib/internal/Magento/Framework/System/Dirs.php
+++ b/lib/internal/Magento/Framework/System/Dirs.php
@@ -75,7 +75,7 @@ class Dirs
      * @return true
      * @throws \Exception
      */
-    public static function mkdirStrict($path, $recursive = true, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE)
+    public static function mkdirStrict($path, $recursive = true, $mode = 0777)
     {
         $exists = file_exists($path);
         if ($exists && is_dir($path)) {
diff --git a/lib/internal/Magento/Framework/System/Ftp.php b/lib/internal/Magento/Framework/System/Ftp.php
index 932afef19e3895d2efe9efadbb2b79791e257640..564f4473eae3c70d476422d60bd630e22a7269da 100644
--- a/lib/internal/Magento/Framework/System/Ftp.php
+++ b/lib/internal/Magento/Framework/System/Ftp.php
@@ -52,7 +52,7 @@ class Ftp
      * @param int $mode
      * @return bool
      */
-    public function mkdirRecursive($path, $mode = DriverInterface::WRITEABLE_DIRECTORY_MODE)
+    public function mkdirRecursive($path, $mode = 0777)
     {
         $this->checkConnected();
         $dir = explode("/", $path);
@@ -219,7 +219,7 @@ class Ftp
      * @return bool
      * @throws \Exception
      */
-    public function upload($remote, $local, $dirMode = DriverInterface::WRITEABLE_DIRECTORY_MODE, $ftpMode = FTP_BINARY)
+    public function upload($remote, $local, $dirMode = 0777, $ftpMode = FTP_BINARY)
     {
         $this->checkConnected();
 
diff --git a/pub/errors/processor.php b/pub/errors/processor.php
index 78f1ccc16f7b06505103fe748c6864a7f06c5ce5..f5415d14ab5346c966349efb2ec04aab5181d4ee 100644
--- a/pub/errors/processor.php
+++ b/pub/errors/processor.php
@@ -454,11 +454,10 @@ class Processor
         $this->_setReportData($reportData);
 
         if (!file_exists($this->_reportDir)) {
-            @mkdir($this->_reportDir, DriverInterface::WRITEABLE_DIRECTORY_MODE, true);
+            @mkdir($this->_reportDir, 0777, true);
         }
 
         @file_put_contents($this->_reportFile, serialize($reportData));
-        @chmod($this->_reportFile, DriverInterface::WRITEABLE_FILE_MODE);
 
         if (isset($reportData['skin']) && self::DEFAULT_SKIN != $reportData['skin']) {
             $this->_setSkin($reportData['skin']);
diff --git a/setup/src/Magento/Setup/Console/Command/DiCompileMultiTenantCommand.php b/setup/src/Magento/Setup/Console/Command/DiCompileMultiTenantCommand.php
index dda46f47fc3893923eecb04da2de9e6f51e484f5..7ecc51c8ead4307558554b4f99a34db0362c719b 100644
--- a/setup/src/Magento/Setup/Console/Command/DiCompileMultiTenantCommand.php
+++ b/setup/src/Magento/Setup/Console/Command/DiCompileMultiTenantCommand.php
@@ -395,7 +395,7 @@ class DiCompileMultiTenantCommand extends AbstractSetupCommand
         // 2.2 Compression
         $relationsFileDir = dirname($relationsFile);
         if (!file_exists($relationsFileDir)) {
-            mkdir($relationsFileDir, DriverInterface::WRITEABLE_DIRECTORY_MODE, true);
+            mkdir($relationsFileDir, 0777, true);
         }
         $relations = array_filter($relations);
         file_put_contents($relationsFile, $serializer->serialize($relations));
@@ -413,7 +413,7 @@ class DiCompileMultiTenantCommand extends AbstractSetupCommand
         $outputContent = $serializer->serialize($pluginDefinitions);
         $pluginDefFileDir = dirname($pluginDefFile);
         if (!file_exists($pluginDefFileDir)) {
-            mkdir($pluginDefFileDir, DriverInterface::WRITEABLE_DIRECTORY_MODE, true);
+            mkdir($pluginDefFileDir, 0777, true);
         }
         file_put_contents($pluginDefFile, $outputContent);
     }
diff --git a/setup/src/Magento/Setup/Model/MarketplaceManager.php b/setup/src/Magento/Setup/Model/MarketplaceManager.php
index 895623530bb6be255dc08aace976d838d9a69c7d..c72e789229703a0740c0dba334db86a5a542023b 100644
--- a/setup/src/Magento/Setup/Model/MarketplaceManager.php
+++ b/setup/src/Magento/Setup/Model/MarketplaceManager.php
@@ -309,10 +309,6 @@ class MarketplaceManager
             \Magento\Framework\App\Filesystem\DirectoryList::COMPOSER_HOME .
             DIRECTORY_SEPARATOR . $this->pathToAuthFile,
             $jsonContent
-        ) && $this->getDirectory()->changePermissions(
-            \Magento\Framework\App\Filesystem\DirectoryList::COMPOSER_HOME .
-            DIRECTORY_SEPARATOR . $this->pathToAuthFile,
-            \Magento\Framework\Filesystem\DriverInterface::WRITEABLE_FILE_MODE
         );
     }
 
diff --git a/setup/src/Magento/Setup/Module/Di/Compiler/Config/Writer/Filesystem.php b/setup/src/Magento/Setup/Module/Di/Compiler/Config/Writer/Filesystem.php
index ab8780a80455348095c05c91aaa9970f6894492e..daf8425802ac535dd6255085d55c9637b62c5656 100644
--- a/setup/src/Magento/Setup/Module/Di/Compiler/Config/Writer/Filesystem.php
+++ b/setup/src/Magento/Setup/Module/Di/Compiler/Config/Writer/Filesystem.php
@@ -51,7 +51,7 @@ class Filesystem implements WriterInterface
     private function initialize()
     {
         if (!file_exists($this->directoryList->getPath(DirectoryList::DI))) {
-            mkdir($this->directoryList->getPath(DirectoryList::DI), DriverInterface::WRITEABLE_DIRECTORY_MODE);
+            mkdir($this->directoryList->getPath(DirectoryList::DI));
         }
     }
 }
diff --git a/setup/src/Magento/Setup/Module/I18n/Pack/Writer/File/AbstractFile.php b/setup/src/Magento/Setup/Module/I18n/Pack/Writer/File/AbstractFile.php
index 9f838c7cd2c6f9c7a6e67fdf0b0f142a7dae256d..00a1361c3c76170f8fef3b844f36be5f15e4ef6b 100644
--- a/setup/src/Magento/Setup/Module/I18n/Pack/Writer/File/AbstractFile.php
+++ b/setup/src/Magento/Setup/Module/I18n/Pack/Writer/File/AbstractFile.php
@@ -143,7 +143,7 @@ abstract class AbstractFile implements WriterInterface
      * @param bool $recursive Allows the creation of nested directories specified in the $destinationPath
      * @return void
      */
-    protected function _createDirectoryIfNotExist($destinationPath, $mode = 0750, $recursive = true)
+    protected function _createDirectoryIfNotExist($destinationPath, $mode = 0777, $recursive = true)
     {
         if (!is_dir($destinationPath)) {
             mkdir($destinationPath, $mode, $recursive);