summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2017-11-30 11:16:00 +0100
committerArthur Schiwon <blizzz@arthur-schiwon.de>2017-11-30 11:16:00 +0100
commit1b7dfd73afba20ccbd3b313d0f1bb678e60654d8 (patch)
tree929c009b4ca4e15f8b1d8b4af84f8298c6c4283f
parent49ec86a81fa19884de125ec48325d85e2e1b1561 (diff)
downloadnextcloud-server-1b7dfd73afba20ccbd3b313d0f1bb678e60654d8.tar.gz
nextcloud-server-1b7dfd73afba20ccbd3b313d0f1bb678e60654d8.zip
Allow to skip data dir permission checks by config
Enables installation on services that don't allow/support permission changes. Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
-rw-r--r--config/config.sample.php12
-rw-r--r--lib/private/legacy/util.php5
2 files changed, 16 insertions, 1 deletions
diff --git a/config/config.sample.php b/config/config.sample.php
index 022b807a881..adb0c125b1e 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -646,6 +646,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
* configuration is writable. However, it will not be possible to configure
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index 3ce11746672..2fc6ba52d4e 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);