Skip to content

user data removed (on clients) when server-side storage not available #22310

@umlaeute

Description

@umlaeute

Steps to reproduce

  1. put ownload/data on an NFS share
  2. make NFS share fail (e.g. unmount the share; power down the NFS-server while the oc-server boots,...)
  3. have the oc-clients automatically sync while the owncloud/data directory is empty.

Expected behaviour

the server tell the clients that it is currently out-of-order.
the client should then stop synching and try again after some time (10 minutes).

Actual behaviour

the server serves from the invalid (empty) owncloud/data directory.
the client syncs with the empty directory, removing all files previously synched.

Server configuration

Operating system:

Debian/jessie 8.3 (amd64)

Web server:

apache 2.4.10-10+deb8u4

Database:

PostgreSQL 9.4.5-0+deb8u

PHP version:

5.6.17+dfsg-0+deb8u

ownCloud version: (see ownCloud admin page)

7.0.4+dfsg-4~deb8u4

Updated from an older ownCloud or fresh install:

updated

Signing status (ownCloud 9.0 and above):

n/a

List of activated apps:

  • Enabled
    • activity
    • calendar
    • contacts
    • documents
    • files
    • files_pdfviewer
    • files_sharing
    • files_texteditor
    • files_trashbin
    • files_versions
    • files_videoviewer
    • firstrunwizard
    • gallery
    • search_lucene
    • user_ldap
  • Disabled:
    • admin_dependencies_chk
    • bookmarks
    • external
    • files_encryption
    • files_external
    • templateeditor
    • user_external
    • user_webdavauth

The content of config/config.php:

<?php
$CONFIG = array (
  'instanceid' => 'ocb6155c0dd2',
  'dbtype' => 'pgsql',
  'passwordsalt' => 'XXX',
  'datadirectory' => '/usr/share/owncloud/data',
  'version' => '7.0.4.2',
  'appstoreenabled' => false,
  'apps_paths' => 
  array (
    0 => 
    array (
      'path' => '/usr/share/owncloud/apps',
      'url' => '/apps',
      'writable' => false,
    ),
  ),
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'XXX',
  'dbpassword' => 'XXX',
  'installed' => true,
  'ldapIgnoreNamingRules' => false,
  'forcessl' => true,
  'theme' => 'example',
  'loglevel' => '2',
  'name' => 'iemCloud',
  'title' => 'iemCloud',
  'maintenance' => false,
  'trusted_domains' => 
  array (
    0 => 'cloud.example.com',
    1 => 'cloud.local',
  ),
  'mail_from_address' => 'noc',
  'mail_smtpmode' => 'smtp',
  'mail_domain' => 'example.com',
  'mail_smtphost' => 'mail.local',
  'mail_smtpport' => '25',
  'secret' => 'XXX',
);

Are you using external storage, if yes which one: local/smb/sftp/...

NFS

Are you using encryption:

yes (https)

the data itself is not encrypted on the storage.

Are you using an external user-backend, if yes which one:

LDAP

LDAP configuration (delete this part if not used)

+------------------------------+---------------------------------------------+
| Configuration                | s02                                         |
+------------------------------+---------------------------------------------+
| hasMemberOfFilterSupport     |                                             |
| hasPagedResultSupport        |                                             |
| homeFolderNamingRule         |                                             |
| lastJpegPhotoLookup          | 0                                           |
| ldapAgentName                |                                             |
| ldapAgentPassword            | ***                                         |
| ldapAttributesForGroupSearch |                                             |
| ldapAttributesForUserSearch  | cn;uid;gecos                                |
| ldapBackupHost               |                                             |
| ldapBackupPort               |                                             |
| ldapBase                     | o=Staff,o=organization,dc=example,dc=com    |
| ldapBaseGroups               | o=organization,dc=example,dc=com    |
| ldapBaseUsers                | ou=people,o=Staff,o=organization,dc=example,dc=com  |
| ldapCacheTTL                 | 600                                         |
| ldapConfigurationActive      | 1                                           |
| ldapEmailAttribute           | mail                                        |
| ldapExperiencedAdmin         | 1                                           |
| ldapExpertUUIDGroupAttr      |                                             |
| ldapExpertUUIDUserAttr       |                                             |
| ldapExpertUsernameAttr       |                                             |
| ldapGroupDisplayName         | cn                                          |
| ldapGroupFilter              |                                             |
| ldapGroupFilterGroups        |                                             |
| ldapGroupFilterMode          | 1                                           |
| ldapGroupFilterObjectclass   | posixGroup                                  |
| ldapGroupMemberAssocAttr     | uniqueMember                                |
| ldapHost                     | ldaps://ldap.example.com                  |
| ldapIgnoreNamingRules        |                                             |
| ldapLoginFilter              | (&(|(objectclass=inetOrgPerson))(uid=%uid)) |
| ldapLoginFilterAttributes    |                                             |
| ldapLoginFilterEmail         | 0                                           |
| ldapLoginFilterMode          | 1                                           |
| ldapLoginFilterUsername      | 1                                           |
| ldapNestedGroups             | 0                                           |
| ldapNoCase                   | 0                                           |
| ldapOverrideMainServer       | 0                                           |
| ldapPagingSize               | 500                                         |
| ldapPort                     | 636                                         |
| ldapQuotaAttribute           |                                             |
| ldapQuotaDefault             |                                             |
| ldapTLS                      | 0                                           |
| ldapUserDisplayName          | cn                                          |
| ldapUserFilter               | (|(objectclass=inetOrgPerson))              |
| ldapUserFilterGroups         |                                             |
| ldapUserFilterMode           | 1                                           |
| ldapUserFilterObjectclass    | inetOrgPerson                               |
| ldapUuidGroupAttribute       | auto                                        |
| ldapUuidUserAttribute        | auto                                        |
| turnOffCertCheck             | 0                                           |
+------------------------------+---------------------------------------------+

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions