diff --git a/config/config.sample.php b/config/config.sample.php
index 022b807a881a5d1b92b7874f187268b5d39c985f..adb0c125b1eaa684b177e840deca186d44f243f1 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -645,6 +645,18 @@ $CONFIG = array(
  */
 'check_for_working_htaccess' => true,
 
+/**
+ * In rare setups (e.g. on Openshift or docker on windows) the permissions check
+ * might block the installation while the underlying system offers no means to
+ * "correct" the permissions. In this case, set the value to false.
+ *
+ * In regular cases, if issues with permissions are encountered they should be
+ * adjusted accordingly. Changing the flag is discouraged.
+ *
+ * Defaults to ``true``
+ */
+'check_data_directory_permissions' => true,
+
 /**
  * In certain environments it is desired to have a read-only configuration file.
  * When this switch is set to ``true`` Nextcloud will not verify whether the
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index 3ce11746672fd9f022f7ac0599b7b024c0961b25..2fc6ba52d4e3fb747a37627bb2f9f40757be9096 100644
--- a/lib/private/legacy/util.php
+++ b/lib/private/legacy/util.php
@@ -979,8 +979,11 @@ class OC_Util {
 	 * @return array arrays with error messages and hints
 	 */
 	public static function checkDataDirectoryPermissions($dataDirectory) {
+		if(\OC::$server->getConfig()->getSystemValue('check_data_directory_permissions', true) === false) {
+			return  [];
+		}
 		$l = \OC::$server->getL10N('lib');
-		$errors = array();
+		$errors = [];
 		$permissionsModHint = $l->t('Please change the permissions to 0770 so that the directory'
 			. ' cannot be listed by other users.');
 		$perms = substr(decoct(@fileperms($dataDirectory)), -3);