Server: No SMB v3 Support

Created on 31 May 2017  路  4Comments  路  Source: nextcloud/server

Steps to reproduce

  1. SMB/CIFS used to work until Windows SMB v1 in a joined Domain was disabled to minimize WannaCry vulnerability.
  2. Issue #4860 workaround could not fix the issue.

Expected behaviour

Nextcloud supports SMB v2 and SMB v3 protocols to connect to Windows SMB v3 in a joined Domain.

Actual behaviour

Nextcloud unable to browse the Windows DFS in joined Domain.

Server configuration

Operating system:
Ubuntu 16.04.2

Web server::
Apache 2.4.18

Database::
MariaDB 10.1.23

PHP version:
PHP7.0

Nextcloud version: (see Nextcloud admin page)
12.0.0

Updated from an older Nextcloud/ownCloud or fresh install:
Updated from Nextcloud 11.x

Where did you install Nextcloud from:
From https://nextcloud.com/install/

Signing status:


Signing status

No errors have been found.

List of activated apps:


App list

Enabled:
  - activity: 2.5.2
  - admin_audit: 1.2.0
  - bruteforcesettings: 1.0.2
  - comments: 1.2.0
  - dav: 1.3.0
  - external: 2.0.3
  - federatedfilesharing: 1.2.0
  - federation: 1.2.0
  - files: 1.7.2
  - files_accesscontrol: 1.2.4
  - files_automatedtagging: 1.2.2
  - files_external: 1.3.0
  - files_pdfviewer: 1.1.1
  - files_retention: 1.1.2
  - files_sharing: 1.4.0
  - files_texteditor: 2.4.1
  - files_trashbin: 1.2.0
  - files_versions: 1.5.0
  - files_videoplayer: 1.1.0
  - firstrunwizard: 2.1
  - gallery: 17.0.0
  - logreader: 2.0.0
  - lookup_server_connector: 1.0.0
  - nextcloud_announcements: 1.1
  - notifications: 2.0.0
  - oauth2: 1.0.5
  - password_policy: 1.2.2
  - provisioning_api: 1.2.0
  - serverinfo: 1.2.0
  - sharebymail: 1.2.0
  - survey_client: 1.0.0
  - systemtags: 1.2.0
  - theming: 1.3.0
  - twofactor_backupcodes: 1.1.1
  - twofactor_totp: 1.3.0
  - twofactor_u2f: 1.3.2
  - updatenotification: 1.2.0
  - user_external: 0.4
  - user_ldap: 1.2.1
  - workflowengine: 1.2.0
Disabled:
  - encryption
  - nextant
  - richdocuments

Nextcloud configuration:


Config report

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "***REMOVED SENSITIVE VALUE***",
            "***REMOVED SENSITIVE VALUE***"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "12.0.0.29",
        "dbname": "nextcloud",
        "dbhost": "mariadb",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "logtimezone": "PST",
        "installed": true,
        "memcache.local": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "redis",
            "port": 6379,
            "dbindex": 1,
            "password": "***REMOVED SENSITIVE VALUE***",
            "timeout": 1.5
        },
        "mail_smtpmode": "smtp",
        "mail_smtpport": "25",
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
        "htaccess.RewriteBase": "\/",
        "maintenance": false,
        "loglevel": 2,
        "mail_from_address": "",
        "mail_domain": "",
        "mail_smtphost": "",
        "singleuser": false
    }
}

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

Are you using encryption: yes/no
No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
LDAP

Client configuration

Browser:
Chrome

Operating system:
Windows 10

Logs

Web server error log

No error related with SMB v3

Nextcloud log (data/nextcloud.log)

Error: Wrong parameters for Icewind\SMB\Exception\Exception([string $message [, long $code [, Throwable $previous = NULL]]])
/var/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Exception/Exception.php - line 17: Exception->__construct('Unknown error (...', 'NT_STATUS_OBJEC...')
/var/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Exception/Exception.php - line 35: Icewind\SMB\Exception\Exception unknown('/', 'NT_STATUS_OBJEC...')
/var/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Parser.php - line 72: Icewind\SMB\Exception\Exception fromMap(Array, 'NT_STATUS_OBJEC...', '/')
/var/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Share.php - line 392: Icewind\SMB\Parser->checkForError(Array, '/')
/var/www/nextcloud/apps/files_external/3rdparty/icewind/smb/src/Share.php - line 147: Icewind\SMB\Share->parseOutput(Array, '/')
/var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php - line 134: Icewind\SMB\Share->stat('/')
/var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php - line 210: OCA\Files_External\LibStorage\SMB->getFileInfo('/')
/var/www/nextcloud/lib/private/Files/Storage/Common.php - line 444: OCA\Files_External\LibStorage\SMB->stat('')
/var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php - line 504: OC\FilesStorage\Common->test()
/var/www/nextcloud/apps/files_external/lib/config.php - line 233: OCA\Files_External\LibStorage\SMB->test(false, true)
/var/www/nextcloud/apps/files_external/lib/Controller/StoragesController.php - line 255: OC_Mount_Config getBackendStatus('\OCA\Files_Exte...', Array, false, true)
/var/www/nextcloud/apps/files_external/lib/Controller/GlobalStoragesController.php - line 179: OCA\Files_External\ControllerStoragesController->updateStorageStatus(Object(OCA\Files_External\LibStorageConfig), true)
[internal function] OCA\Files_External\Controller\GlobalStoragesController->update(45, 'DFS', 'smb', 'password sessi...', Array, Array, Array, Array, 100, true)
/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 160: call_user_func_array(Array, Array)
/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 90: OC\AppFramework\Http\Dispatcher->executeController(Object(OCA\Files_External\Controller\GlobalStoragesController), 'update')
/var/www/nextcloud/lib/private/AppFramework/App.php - line 114: OC\AppFramework\Http\Dispatcher->dispatch(Object(OCA\Files_External\Controller\GlobalStoragesController), 'update')
/var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php - line 47: OC\AppFramework\App main('OCA\Files_Exter...', 'update', Object(OC\AppFramework\DependencyInjection\DIContainer), Array)
[internal function] OC\AppFramework\Routing\RouteActionHandler->__invoke(Array)
/var/www/nextcloud/lib/private/Route/Router.php - line 299: call_user_func(Object(OC\AppFramework\Routing\RouteActionHandler), Array)
/var/www/nextcloud/lib/base.php - line 1000: OC\Route\Router->match('/apps/files_ext...')
/var/www/nextcloud/index.php - line 40: OC handleRequest()
{main}

enhancement external storage

Most helpful comment

Hi All,

Turned out it was caused by security group permission in the root shared folder as I was able to mount the sub-directory. Adding the security group which is used by AD browser to the root shared folder fixed the issue.

Also, the php-smbclient in Ubuntu 16.04 only supports SMB v2. Didn't work on SMB v3.

sudo apt install smbclient php-smbclient

Edit /etc/samba/smb.conf

[global]
client min protocol = SMB2
client max protocol = SMB3

Hope this help others. :)

All 4 comments

@icewind1991

I have this same issue. Any workaround available?

Hi All,

Turned out it was caused by security group permission in the root shared folder as I was able to mount the sub-directory. Adding the security group which is used by AD browser to the root shared folder fixed the issue.

Also, the php-smbclient in Ubuntu 16.04 only supports SMB v2. Didn't work on SMB v3.

sudo apt install smbclient php-smbclient

Edit /etc/samba/smb.conf

[global]
client min protocol = SMB2
client max protocol = SMB3

Hope this help others. :)

closing since this is an os configuration issue

Was this page helpful?
0 / 5 - 0 ratings