SMB external storage not working after upgrade to 13.0.3

Support intro

Sorry to hear you’re facing problems. :slightly_frowning_face:

The community help forum (help.nextcloud.com) is for home and non-enterprise users. Support is provided by other community members on a best effort / “as available” basis. All of those responding are volunteering their time to help you.

If you’re using Nextcloud in a business/critical setting, paid and SLA-based support services can be accessed via portal.nextcloud.com where Nextcloud engineers can help ensure your business keeps running smoothly.

Getting help

In order to help you as efficiently (and quickly!) as possible, please fill in as much of the below requested information as you can.

Before clicking submit: Please check if your query is already addressed via the following resources:

(Utilizing these existing resources is typically faster. It also helps reduce the load on our generous volunteers while elevating the signal to noise ratio of the forums otherwise arising from the same queries being posted repeatedly).

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can. :heart:

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 13.0.3
  • Operating system and version (e.g., Ubuntu 24.04):
    • debian 13 / LXC
  • Web server and version (e.g, Apache 2.4.25):
    • AIO
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • AIO
  • PHP version (e.g, 8.3):
    • replace me
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • after ugrade (automatic) to latest version
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • AIO
  • lace meAre you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

Previously assigned shares are now inaccessible and new ones do not mount

Steps to replicate it (hint: details matter!):

  1. create new external storage entry - smb/cifs, auth via user/pwd

  2. click on entry after create - icon is red

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.




error 1
{"reqId":"CGYGtxlO6QSY5I5BPHR7","level":3,"time":"2026-05-14T08:37:26+00:00","remoteAddr":"192.168.100.6","user":"admin","app":"no app in context","method":"GET","url":"/apps/files_external/globalstorages/24","scriptName":"/index.php","message":"Error while getting file info","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:144.0) Gecko/20100101 Firefox/144.0","version":"33.0.3.2","exception":{"Exception":"Icewind\\SMB\\Exception\\ForbiddenException","Message":"Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)","Code":13,"Trace":[{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php","line":74,"function":"fromMap","class":"Icewind\\SMB\\Exception\\Exception","type":"::","args":[["Icewind\\SMB\\Exception\\ForbiddenException","Icewind\\SMB\\Exception\\NotFoundException","Icewind\\SMB\\Exception\\ForbiddenException","Icewind\\SMB\\Exception\\FileInUseException","Icewind\\SMB\\Exception\\AlreadyExistsException","And 11 more entries, set log level to debug to see all entries"],13,"smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php","line":91,"function":"handleError","class":"Icewind\\SMB\\Native\\NativeState","type":"->","args":["smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php","line":249,"function":"testResult","class":"Icewind\\SMB\\Native\\NativeState","type":"->","args":[false,"smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php","line":122,"function":"stat","class":"Icewind\\SMB\\Native\\NativeState","type":"->","args":["smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php","line":43,"function":"rawStat","class":"Icewind\\SMB\\Native\\NativeShare","type":"->","args":[""]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php","line":49,"function":"stat","class":"Icewind\\SMB\\Native\\NativeFileInfo","type":"->","args":[]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php","line":113,"function":"getSize","class":"Icewind\\SMB\\Native\\NativeFileInfo","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":186,"function":"stat","class":"Icewind\\SMB\\Native\\NativeShare","type":"->","args":[""]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":338,"function":"getFileInfo","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":["/"]},{"file":"/var/www/html/lib/private/Files/Storage/Common.php","line":419,"function":"stat","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":[""]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":709,"function":"test","class":"OC\\Files\\Storage\\Common","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/MountConfig.php","line":94,"function":"test","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/Controller/StoragesController.php","line":225,"function":"getBackendStatus","class":"OCA\\Files_External\\MountConfig","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_external/lib/Controller/StoragesController.php","line":275,"function":"updateStorageStatus","class":"OCA\\Files_External\\Controller\\StoragesController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_external/lib/Controller/GlobalStoragesController.php","line":190,"function":"show","class":"OCA\\Files_External\\Controller\\StoragesController","type":"->","args":[24,true]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":205,"function":"show","class":"OCA\\Files_External\\Controller\\GlobalStoragesController","type":"->","args":[24,true]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":118,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files_External\\Controller\\GlobalStoragesController"},"show"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":153,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files_External\\Controller\\GlobalStoragesController"},"show"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":321,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Files_External\\Controller\\GlobalStoragesController","show",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"files_external.global_storages.show","id":"24"}]},{"file":"/var/www/html/lib/base.php","line":1155,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/files_external/globalstorages/24"]},{"file":"/var/www/html/index.php","line":25,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/3rdparty/icewind/smb/src/Exception/Exception.php","Line":43,"message":"Error while getting file info","exception":"{\"class\":\"Icewind\\SMB\\Exception\\ForbiddenException\",\"message\":\"Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)\",\"code\":13,\"file\":\"/var/www/html/3rdparty/icewind/smb/src/Exception/Exception.php:43\",\"trace\":\"#0 /var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php(74): Icewind\\SMB\\Exception\\Exception::fromMap(Array, 13, 'smb://192.168.1...')\\n#1 /var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php(91): Icewind\\SMB\\Native\\NativeState->handleError('smb://192.168.1...')\\n#2 /var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php(249): Icewind\\SMB\\Native\\NativeState->testResult(false, 'smb://192.168.1...')\\n#3 /var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php(122): Icewind\\SMB\\Native\\NativeState->stat('smb://192.168.1...')\\n#4 /var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php(43): Icewind\\SMB\\Native\\NativeShare->rawStat('')\\n#5 /var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php(49): Icewind\\SMB\\Native\\NativeFileInfo->stat()\\n#6 /var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php(113): Icewind\\SMB\\Native\\NativeFileInfo->getSize()\\n#7 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(186): Icewind\\SMB\\Native\\NativeShare->stat('')\\n#8 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(338): OCA\\Files_External\\Lib\\Storage\\SMB->getFileInfo('/')\\n#9 /var/www/html/lib/private/Files/Storage/Common.php(419): OCA\\Files_External\\Lib\\Storage\\SMB->stat('')\\n#10 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(709): OC\\Files\\Storage\\Common->test()\\n#11 /var/www/html/apps/files_external/lib/MountConfig.php(94): OCA\\Files_External\\Lib\\Storage\\SMB->test()\\n#12 /var/www/html/apps/files_external/lib/Controller/StoragesController.php(225): OCA\\Files_External\\MountConfig::getBackendStatus('\\\\OCA\\\\Files_Exte...', Array)\\n#13 /var/www/html/apps/files_external/lib/Controller/StoragesController.php(275): OCA\\Files_External\\Controller\\StoragesController->updateStorageStatus(Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#14 /var/www/html/apps/files_external/lib/Controller/GlobalStoragesController.php(190): OCA\\Files_External\\Controller\\StoragesController->show(24, true)\\n#15 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(205): OCA\\Files_External\\Controller\\GlobalStoragesController->show(24, true)\\n#16 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(118): OC\\AppFramework\\Http\\Dispatcher->executeController(Object(OCA\\Files_External\\Controller\\GlobalStoragesController), 'show')\\n#17 /var/www/html/lib/private/AppFramework/App.php(153): OC\\AppFramework\\Http\\Dispatcher->dispatch(Object(OCA\\Files_External\\Controller\\GlobalStoragesController), 'show')\\n#18 /var/www/html/lib/private/Route/Router.php(321): OC\\AppFramework\\App::main('OCA\\\\Files_Exter...', 'show', Object(OC\\AppFramework\\DependencyInjection\\DIContainer), Array)\\n#19 /var/www/html/lib/base.php(1155): OC\\Route\\Router->match('/apps/files_ext...')\\n#20 /var/www/html/index.php(25): OC::handleRequest()\\n#21 {main}\"}","CustomMessage":"Error while getting file info"},"id":"6a0589fa3e321"}

error 2
{"reqId":"CGYGtxlO6QSY5I5BPHR7","level":2,"time":"2026-05-14T08:37:26+00:00","remoteAddr":"192.168.100.6","user":"admin","app":"no app in context","method":"GET","url":"/apps/files_external/globalstorages/24","scriptName":"/index.php","message":"External storage not available: Storage unauthorized. Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:144.0) Gecko/20100101 Firefox/144.0","version":"33.0.3.2","exception":{"Exception":"OCP\\Files\\StorageAuthException","Message":"Storage unauthorized. Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)","Code":4,"Trace":[{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":188,"function":"throwUnavailable","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":[{"__class__":"Icewind\\SMB\\Exception\\ForbiddenException"}]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":338,"function":"getFileInfo","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":["/"]},{"file":"/var/www/html/lib/private/Files/Storage/Common.php","line":419,"function":"stat","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":[""]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":709,"function":"test","class":"OC\\Files\\Storage\\Common","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/MountConfig.php","line":94,"function":"test","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/Controller/StoragesController.php","line":225,"function":"getBackendStatus","class":"OCA\\Files_External\\MountConfig","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_external/lib/Controller/StoragesController.php","line":275,"function":"updateStorageStatus","class":"OCA\\Files_External\\Controller\\StoragesController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_external/lib/Controller/GlobalStoragesController.php","line":190,"function":"show","class":"OCA\\Files_External\\Controller\\StoragesController","type":"->","args":[24,true]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":205,"function":"show","class":"OCA\\Files_External\\Controller\\GlobalStoragesController","type":"->","args":[24,true]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":118,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files_External\\Controller\\GlobalStoragesController"},"show"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":153,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files_External\\Controller\\GlobalStoragesController"},"show"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":321,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Files_External\\Controller\\GlobalStoragesController","show",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"files_external.global_storages.show","id":"24"}]},{"file":"/var/www/html/lib/base.php","line":1155,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/files_external/globalstorages/24"]},{"file":"/var/www/html/index.php","line":25,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","Line":200,"Hint":"Storage is temporarily not available","Previous":{"Exception":"Icewind\\SMB\\Exception\\ForbiddenException","Message":"Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)","Code":13,"Trace":[{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php","line":74,"function":"fromMap","class":"Icewind\\SMB\\Exception\\Exception","type":"::","args":[["Icewind\\SMB\\Exception\\ForbiddenException","Icewind\\SMB\\Exception\\NotFoundException","Icewind\\SMB\\Exception\\ForbiddenException","Icewind\\SMB\\Exception\\FileInUseException","Icewind\\SMB\\Exception\\AlreadyExistsException","And 11 more entries, set log level to debug to see all entries"],13,"smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php","line":91,"function":"handleError","class":"Icewind\\SMB\\Native\\NativeState","type":"->","args":["smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php","line":249,"function":"testResult","class":"Icewind\\SMB\\Native\\NativeState","type":"->","args":[false,"smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php","line":122,"function":"stat","class":"Icewind\\SMB\\Native\\NativeState","type":"->","args":["smb://192.168.100.56/dropbox"]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php","line":43,"function":"rawStat","class":"Icewind\\SMB\\Native\\NativeShare","type":"->","args":[""]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php","line":49,"function":"stat","class":"Icewind\\SMB\\Native\\NativeFileInfo","type":"->","args":[]},{"file":"/var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php","line":113,"function":"getSize","class":"Icewind\\SMB\\Native\\NativeFileInfo","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":186,"function":"stat","class":"Icewind\\SMB\\Native\\NativeShare","type":"->","args":[""]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":338,"function":"getFileInfo","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":["/"]},{"file":"/var/www/html/lib/private/Files/Storage/Common.php","line":419,"function":"stat","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":[""]},{"file":"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php","line":709,"function":"test","class":"OC\\Files\\Storage\\Common","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/MountConfig.php","line":94,"function":"test","class":"OCA\\Files_External\\Lib\\Storage\\SMB","type":"->","args":[]},{"file":"/var/www/html/apps/files_external/lib/Controller/StoragesController.php","line":225,"function":"getBackendStatus","class":"OCA\\Files_External\\MountConfig","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_external/lib/Controller/StoragesController.php","line":275,"function":"updateStorageStatus","class":"OCA\\Files_External\\Controller\\StoragesController","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/apps/files_external/lib/Controller/GlobalStoragesController.php","line":190,"function":"show","class":"OCA\\Files_External\\Controller\\StoragesController","type":"->","args":[24,true]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":205,"function":"show","class":"OCA\\Files_External\\Controller\\GlobalStoragesController","type":"->","args":[24,true]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":118,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files_External\\Controller\\GlobalStoragesController"},"show"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":153,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Files_External\\Controller\\GlobalStoragesController"},"show"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":321,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Files_External\\Controller\\GlobalStoragesController","show",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"files_external.global_storages.show","id":"24"}]},{"file":"/var/www/html/lib/base.php","line":1155,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/files_external/globalstorages/24"]},{"file":"/var/www/html/index.php","line":25,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/3rdparty/icewind/smb/src/Exception/Exception.php","Line":43},"message":"External storage not available: Storage unauthorized. Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)","exception":"{\"class\":\"OCP\\Files\\StorageAuthException\",\"message\":\"Storage unauthorized. Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)\",\"code\":4,\"file\":\"/var/www/html/apps/files_external/lib/Lib/Storage/SMB.php:200\",\"trace\":\"#0 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(188): OCA\\Files_External\\Lib\\Storage\\SMB->throwUnavailable(Object(Icewind\\SMB\\Exception\\ForbiddenException))\\n#1 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(338): OCA\\Files_External\\Lib\\Storage\\SMB->getFileInfo('/')\\n#2 /var/www/html/lib/private/Files/Storage/Common.php(419): OCA\\Files_External\\Lib\\Storage\\SMB->stat('')\\n#3 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(709): OC\\Files\\Storage\\Common->test()\\n#4 /var/www/html/apps/files_external/lib/MountConfig.php(94): OCA\\Files_External\\Lib\\Storage\\SMB->test()\\n#5 /var/www/html/apps/files_external/lib/Controller/StoragesController.php(225): OCA\\Files_External\\MountConfig::getBackendStatus('\\\\OCA\\\\Files_Exte...', Array)\\n#6 /var/www/html/apps/files_external/lib/Controller/StoragesController.php(275): OCA\\Files_External\\Controller\\StoragesController->updateStorageStatus(Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#7 /var/www/html/apps/files_external/lib/Controller/GlobalStoragesController.php(190): OCA\\Files_External\\Controller\\StoragesController->show(24, true)\\n#8 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(205): OCA\\Files_External\\Controller\\GlobalStoragesController->show(24, true)\\n#9 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(118): OC\\AppFramework\\Http\\Dispatcher->executeController(Object(OCA\\Files_External\\Controller\\GlobalStoragesController), 'show')\\n#10 /var/www/html/lib/private/AppFramework/App.php(153): OC\\AppFramework\\Http\\Dispatcher->dispatch(Object(OCA\\Files_External\\Controller\\GlobalStoragesController), 'show')\\n#11 /var/www/html/lib/private/Route/Router.php(321): OC\\AppFramework\\App::main('OCA\\\\Files_Exter...', 'show', Object(OC\\AppFramework\\DependencyInjection\\DIContainer), Array)\\n#12 /var/www/html/lib/base.php(1155): OC\\Route\\Router->match('/apps/files_ext...')\\n#13 /var/www/html/index.php(25): OC::handleRequest()\\n#14 {main}\",\"previous\":{\"class\":\"Icewind\\SMB\\Exception\\ForbiddenException\",\"message\":\"Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)\",\"code\":13,\"file\":\"/var/www/html/3rdparty/icewind/smb/src/Exception/Exception.php:43\",\"trace\":\"#0 /var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php(74): Icewind\\SMB\\Exception\\Exception::fromMap(Array, 13, 'smb://192.168.1...')\\n#1 /var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php(91): Icewind\\SMB\\Native\\NativeState->handleError('smb://192.168.1...')\\n#2 /var/www/html/3rdparty/icewind/smb/src/Native/NativeState.php(249): Icewind\\SMB\\Native\\NativeState->testResult(false, 'smb://192.168.1...')\\n#3 /var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php(122): Icewind\\SMB\\Native\\NativeState->stat('smb://192.168.1...')\\n#4 /var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php(43): Icewind\\SMB\\Native\\NativeShare->rawStat('')\\n#5 /var/www/html/3rdparty/icewind/smb/src/Native/NativeFileInfo.php(49): Icewind\\SMB\\Native\\NativeFileInfo->stat()\\n#6 /var/www/html/3rdparty/icewind/smb/src/Native/NativeShare.php(113): Icewind\\SMB\\Native\\NativeFileInfo->getSize()\\n#7 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(186): Icewind\\SMB\\Native\\NativeShare->stat('')\\n#8 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(338): OCA\\Files_External\\Lib\\Storage\\SMB->getFileInfo('/')\\n#9 /var/www/html/lib/private/Files/Storage/Common.php(419): OCA\\Files_External\\Lib\\Storage\\SMB->stat('')\\n#10 /var/www/html/apps/files_external/lib/Lib/Storage/SMB.php(709): OC\\Files\\Storage\\Common->test()\\n#11 /var/www/html/apps/files_external/lib/MountConfig.php(94): OCA\\Files_External\\Lib\\Storage\\SMB->test()\\n#12 /var/www/html/apps/files_external/lib/Controller/StoragesController.php(225): OCA\\Files_External\\MountConfig::getBackendStatus('\\\\OCA\\\\Files_Exte...', Array)\\n#13 /var/www/html/apps/files_external/lib/Controller/StoragesController.php(275): OCA\\Files_External\\Controller\\StoragesController->updateStorageStatus(Object(OCA\\Files_External\\Lib\\StorageConfig))\\n#14 /var/www/html/apps/files_external/lib/Controller/GlobalStoragesController.php(190): OCA\\Files_External\\Controller\\StoragesController->show(24, true)\\n#15 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(205): OCA\\Files_External\\Controller\\GlobalStoragesController->show(24, true)\\n#16 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(118): OC\\AppFramework\\Http\\Dispatcher->executeController(Object(OCA\\Files_External\\Controller\\GlobalStoragesController), 'show')\\n#17 /var/www/html/lib/private/AppFramework/App.php(153): OC\\AppFramework\\Http\\Dispatcher->dispatch(Object(OCA\\Files_External\\Controller\\GlobalStoragesController), 'show')\\n#18 /var/www/html/lib/private/Route/Router.php(321): OC\\AppFramework\\App::main('OCA\\\\Files_Exter...', 'show', Object(OC\\AppFramework\\DependencyInjection\\DIContainer), Array)\\n#19 /var/www/html/lib/base.php(1155): OC\\Route\\Router->match('/apps/files_ext...')\\n#20 /var/www/html/index.php(25): OC::handleRequest()\\n#21 {main}\"}}","CustomMessage":"External storage not available: Storage unauthorized. Invalid request for smb://192.168.100.56/dropbox (ForbiddenException)"},"id":"6a058d4c0719f"}

error 3
Can't save - breaks limit here

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

PASTE

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

PASTE HERE

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):


root:~/dockers/aio# docker exec -it nextcloud-aio-nextcloud php occ config:list system                                                                                    

{

"system": {                                                                                                                                                                     

    "memcache.local": "\\\\OC\\\\Memcache\\\\APCu",                                                                                                                                   

    "apps_paths": \[                                                                                                                                                             

        {                                                                                                                                                                       

            "path": "\\/var\\/www\\/html\\/apps",                                                                                                                                   

            "url": "\\/apps",                                                                                                                                                    

            "writable": false                                                                                                                                                   

        },                                                                                                                                                                      

        {                                                                                                                                                                       

            "path": "\\/var\\/www\\/html\\/custom_apps",                                                                                                                            

            "url": "\\/custom_apps",                                                                                                                                             

            "writable": true                                                                                                                                                    

        }                                                                                                                                                                       

    \],                                                                                                                                                                          

    "memcache.distributed": "\\\\OC\\\\Memcache\\\\Redis",                                                                                                                            

    "memcache.locking": "\\\\OC\\\\Memcache\\\\Redis",                                                                                                                                

    "redis": {                                                                                                                                                                  

        "host": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                                

        "password": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                            

        "port": 6379,                                                                                                                                                           

        "timeout": 3,                                                                                                                                                           

        "read_timeout": 10                                                                                                                                                      

    },                                                                                                                                                                          

    "overwritehost": "nc.xxx.com",                                                                                                                                       

    "overwriteprotocol": "https",                                                                                                                                               

    "passwordsalt": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                            

    "secret": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                                  

    "trusted_domains": \[                                                                                                                                                        

        "localhost",                                                                                                                                                            

        "nc.xxx.com"                                                                                                                                                     

    \],                                                                                                                                                                          

    "datadirectory": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                           

    "dbtype": "pgsql",                                                                                                                                                          

    "version": "33.0.3.2",                                                                                                                                                      

    "overwrite.cli.url": "https:\\/\\/nc.xxx.com\\/",                                                                                                                       

    "dbname": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                                  

    "dbhost": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                                  

    "dbport": "",                                                                                                                                                               

    "dbtableprefix": "oc\_",                                                                                                                                                     

    "dbuser": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                                  

    "dbpassword": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                              

    "installed": true,                                                                                                                                                          

    "instanceid": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                              

    "loglevel": 2,                                                                                                                                                              

    "log_type": "file",                                                                                                                                                         

    "logfile": "\\/var\\/www\\/html\\/data\\/nextcloud.log",                                                                                                                         

    "log_rotate_size": "10485760",                                                                                                                                              

    "log.condition": {                                                                                                                                                          

        "apps": \[                                                                                                                                                               

            "admin_audit"                                                                                                                                                       

        \]                                                                                                                                                                       

    },                                                                                                                                                                          

    "preview_max_x": 2048,                                                                                                                                                      

    "preview_max_y": 2048,                                                                                                                                                      

    "jpeg_quality": 60,                                                                                                                                                         

    "enabledPreviewProviders": {                                                                                                                                                

        "1": "OC\\\\Preview\\\\Image",                                                                                                                                              

        "2": "OC\\\\Preview\\\\MarkDown",                                                                                                                                           

        "3": "OC\\\\Preview\\\\MP3",                                                                                                                                                

        "4": "OC\\\\Preview\\\\TXT",                                                                                                                                                

        "5": "OC\\\\Preview\\\\OpenDocument",                                                                                                                                       

        "6": "OC\\\\Preview\\\\Movie",                                                                                                                                              

        "0": "OC\\\\Preview\\\\Imaginary",                                                                                                                                          

        "23": "OC\\\\Preview\\\\ImaginaryPDF"                                                                                                                                       

    },                                                                                                                                                                          

    "enable_previews": true,                                                                                                                                                    

    "upgrade.disable-web": true,                                                                                                                                                

    "mail_smtpmode": "smtp",                                                                                                                                                    

    "trashbin_retention_obligation": "auto, 30",                                                                                                                                

    "versions_retention_obligation": "auto, 30",                                                                                                                                

    "activity_expire_days": "30",                                                                                                                                               

    "simpleSignUpLink.shown": false,                                                                                                                                            

    "share_folder": "\\/Shared",                                                                                                                                                 

    "one-click-instance": true,                                                                                                                                                 

    "one-click-instance.user-limit": 100,                                                                                                                                       

    "htaccess.RewriteBase": "\\/",                                                                                                                                               

    "files_external_allow_create_new_local": true,                                                                                                                              

    "trusted_proxies": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                         

    "allow_local_remote_servers": true,                                                                                                                                         

    "skeletondirectory": "\\/mnt\\/external\\/aio\\/hostdir\\/skeleton",                                                                                                             

    "default_phone_region": "GB",                                                                                                                                               

    "one-click-instance.link": "https:\\/\\/nextcloud.com\\/all-in-one\\/",                                                                                                         

    "maintenance": false,                                                                                                                                                       

    "data-fingerprint": "6a9ec6af88e1c73e0300cc85a62a4245",                                                                                                                     

    "updatedirectory": "\\/nc-updater",                                                                                                                                          

    "preview_imaginary_url": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                   

    "upgrade.cli-upgrade-link": "https:\\/\\/github.com\\/nextcloud\\/all-in-one\\/discussions\\/2726",                                                                               

    "davstorage.request_timeout": 3600,                                                                                                                                         

    "dbpersistent": false,                                                                                                                                                      

    "mail_from_address": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                       

    "mail_sendmailmode": "smtp",                                                                                                                                                

    "mail_domain": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                             

    "mail_smtphost": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                           

    "mail_smtpport": "465",                                                                                                                                                     

    "mail_smtpauth": 1,                                                                                                                                                         

    "mail_smtpname": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                           

    "mail_smtppassword": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                       

    "appsallowlist": false,                                                                                                                                                     

    "maintenance_window_start": 100,                                                                                                                                            

    "preview_imaginary_key": "\*\*\*REMOVED SENSITIVE VALUE\*\*\*",                                                                                                                   

    "auth.bruteforce.protection.enabled": true,                                                                                                                                 

    "ratelimit.protection.enabled": true,                                                                                                                                       

    "memories.db.triggers.fcu": true,                                                                                                                                           

    "memories.exiftool": "\\/var\\/www\\/html\\/custom_apps\\/memories\\/bin-ext\\/exiftool-amd64-musl",                                                                               

    "memories.vod.path": "\\/var\\/www\\/html\\/custom_apps\\/memories\\/bin-ext\\/go-vod-amd64",                                                                                      

    "memories.vod.ffmpeg": "\\/usr\\/bin\\/ffmpeg",                                                                                                                                

    "memories.vod.ffprobe": "\\/usr\\/bin\\/ffprobe",                                                                                                                              

    "documentation_url.server_logs": "https:\\/\\/github.com\\/nextcloud\\/all-in-one\\/discussions\\/5425",                                                                          

    "updatechecker": false,                                                                                                                                                     

    "serverid": 473,                                                                                                                                                            

    "log_type_audit": "file",                                                                                                                                                   

    "logfile_audit": "\\/var\\/www\\/html\\/data\\/audit.log",                                                                                                                       

    "DOMAIN": "nc.xxx.com",                                                                                                                                              

    "AIO_VERSION": "v13.0.3"      

Apps

The output of occ app:list (if possible).

/dockers/aio# docker exec -it nextcloud-aio-nextcloud php occ app:list                                                                                              

Enabled:

  • activity: 6.0.0

  • admin_audit: 1.23.0

  • bruteforcesettings: 6.0.0

  • calendar: 6.4.0

  • circles: 33.0.0

  • cloud_federation_api: 1.17.0

  • comments: 1.23.0

  • contacts: 8.4.5

  • contactsinteraction: 1.14.1

  • dashboard: 7.13.0

  • dav: 1.36.0

  • deck: 1.17.1

  • federatedfilesharing: 1.23.0

  • federation: 1.23.0

  • files: 2.5.0

  • files_accesscontrol: 4.0.0

  • files_downloadlimit: 5.1.0

  • files_external: 1.25.1

  • files_pdfviewer: 6.0.0

  • files_reminders: 1.6.0

  • files_sharing: 1.25.2

  • files_trashbin: 1.23.0

  • files_versions: 1.26.0

  • firstrunwizard: 6.0.0

  • logreader: 6.0.0

  • lookup_server_connector: 1.21.0

  • nextcloud-aio: 0.8.0

  • nextcloud_announcements: 5.0.0

  • notes: 5.0.0

  • notifications: 6.0.0

  • notify_push: 1.3.2

  • oauth2: 1.21.0

  • password_policy: 5.0.0

  • privacy: 5.0.0

  • profile: 1.2.0

  • provisioning_api: 1.23.0

  • related_resources: 4.0.0

  • richdocuments: 10.1.3

  • serverinfo: 5.0.0

  • settings: 1.16.0

  • sharebymail: 1.23.0

  • spreed: 23.0.4

  • support: 5.0.0

  • survey_client: 5.0.0

  • systemtags: 1.23.0

  • tasks: 0.17.1

  • text: 7.0.1

  • theming: 2.8.0

  • twofactor_backupcodes: 1.22.0

  • twofactor_totp: 15.0.0

  • updatenotification: 1.23.0

  • user_status: 1.13.0

  • viewer: 6.0.0

  • weather_status: 1.13.0

  • webhook_listeners: 1.5.0

  • whiteboard: 1.5.7

  • workflowengine: 2.15.0

Disabled:

  • app_api: 33.0.0 (installed 4.0.5)

  • apporder: 0.15.0 (installed 0.15.0)

  • breezedark: 29.0.0 (installed 29.0.0)

  • encryption: 2.21.0

  • files_rightclick: 0.15.1 (installed 1.6.0)

  • photos: 6.0.0 (installed 2.0.1)

  • recommendations: 6.0.0 (installed 1.4.0)

  • suspicious_login: 11.0.0

  • testing: 1.23.0

  • twofactor_nextcloud_notification: 7.0.0

  • user_ldap: 1.24.0

Notes:

manual mount to the share in question on the node running aio:

 mount //192.168.100.56/dropbox /mnt/tmp                                                                                                               

Password for root@//192.168.100.56/dropbox:

root@mikebakke:~/dockers/aio# df | grep /mnt/tmp

//192.168.100.56/dropbox 4438504448 178832640 4259671808 5% /mnt/tmp

Hi @mikebakke,

I’m not an AIO expert, but let me try to help based on what the error tells us.

The ForbiddenException with error code 13 is POSIX EACCES — the SMB server at 192.168.100.56 is receiving the connection and responding with “access denied”, not failing to connect.

The manual host mount confirms the share is reachable. One thing worth checking: did the manual mount use the same credentials that Nextcloud has stored, or a different user account? If the host mount used a different user (or guest/anonymous access), it does not prove the Nextcloud credentials are still valid on the SMB server side.

Diagnostic step — test from inside the AIO container:

The AIO Nextcloud container includes smbclient. You can test directly with the same credentials Nextcloud uses:

docker exec -it nextcloud-aio-nextcloud smbclient //192.168.100.56/dropbox -U <smb-username>

If this returns NT_STATUS_ACCESS_DENIED, the problem is on the SMB server side and the AIO upgrade is likely a coincidence. If smbclient succeeds from inside the container, something in Nextcloud’s external storage configuration needs attention — re-entering and saving the credentials in External Storage settings would be the next step.

A few questions that would help narrow this down:

  1. What SMB server software runs on 192.168.100.56 (Samba, Windows, TrueNAS, something else)?
  2. Did anything change on that server around the same time as the AIO upgrade — user accounts, share permissions, or security policy?
  3. Did the host mount use the same username and password that Nextcloud has stored?

h.t.h.


ernolf

By the way — if this share is actually Dropbox cloud storage being re-shared over SMB, there is a native Dropbox integration app for Nextcloud that connects directly via the Dropbox API. That would be more reliable than routing through an SMB layer.

If it is just a folder on a local NAS that happens to be named “dropbox”, ignore this. :slightly_smiling_face:


ernolf

Hi ernolf

In Nextcloud I have tried creating the share with specific credentials and also having them as global credentials. In either case they were the same as my mount from the host.

External SMB is the default Debian Trixie installed from apt.

I’ll try the docker based mount and see what happens.

Oh - it’s not real dropbox it’s just a share I’ve had for about 20 years :slight_smile:

BR

Mike

root@mikebakke:~/dockers/aio# docker exec -it nextcloud-aio-nextcloud smbclient //192.168.100.56/dropbox -U root                                                                    

Password for [MYGROUP\root]:

Try “help” to get a list of possible commands.

Did not work - either from the host or running directly inside the AIO. In nether case was there any error message in the logs or console

I have another AIO instance at 13.0.3 so will try that and also try with a share accessible from non-root user. The original external storage mount was in use for 18 months and not aware of any change on the samba host - that’s been there even longer although it’s not infeasible that an apt update pulled new code I guess.

Nope - other instance behaves the same on the original share and one from a different host. I can switch to S3 for now which works fine and will monitor to see if the next update helps.

Thank you for going the extra mile and testing on a second instance and against multiple different shares. That persistence is exactly what pushed me from “environment-specific issue” to “this is a regression” — and I believe I have found the likely cause.

Workaround (server side)

Since you are running a standard Debian Samba installation, you have direct access to /etc/samba/smb.conf — which greatly simplifies this compared to a NAS appliance. Add the following either globally or under the specific share:

server smb encrypt = off

On older Samba versions the directive may be:

smb encrypt = off

Then restart Samba:

systemctl restart smbd

Please report back whether this resolves your issue — I am planning to file a bug report with Nextcloud, and knowing the outcome of the workaround will either strengthen or disprove my theory about the root cause.


ernolf

Hi

I tried with both variants of the parm and unfortunately received the same 3 errors when creating to external storage.

I appreciate the thought!

Mike

Thank you — every exclusion narrows things down.

I tried to reproduce your setup on my end: a fresh Samba installation, a simple share, connected from a Nextcloud 33 AIO instance — and it worked without any issues. That means the problem is not universal to NC33 + Samba, but specific to something in your configuration.

Could you share your /etc/samba/smb.conf — anonymised if needed (replace real hostnames, IPs, or share names)? I am particularly interested in any encrypt, security, or smb related settings, but the full file would be most helpful.


EDIT: One more thing — could you also check the Samba server log at the moment a connection attempt fails? On Debian the log is at /var/log/samba/log.smbd. It will show the exact reason for the NT_STATUS_ACCESS_DENIED on the server side.


ernolf

#======================= Global Settings =======================                                                                                                                    

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of

workgroup = WORKGROUP

#### Networking ####

; bind interfaces only = yes

#### Debugging/Accounting ####

log file = /var/log/samba/log.%m

max log size = 1000

logging = file

panic action = /usr/share/samba/panic-action %d

####### Authentication #######

server role = standalone server

obey pam restrictions = yes

unix password sync = yes

passwd program = /usr/bin/passwd %u

passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

pam password change = yes

map to guest = bad user

########## Domains ###########

; logon path = \\%N\profiles\%U

; logon drive = H:

; logon script = logon.cmd

; add machine script = /usr/sbin/useradd -g machines -c “%u machine account” -d /var/lib/samba -s /bin/false %u

; add group script = /usr/sbin/addgroup --force-badname %g

############ Misc ############

; include = /home/samba/etc/smb.conf.%m

; idmap config * : backend = tdb

; idmap config * : range = 3000-7999

; idmap config YOURDOMAINHERE : backend = tdb

; idmap config YOURDOMAINHERE : range = 100000-999999

; template shell = /bin/bash

#======================= Share Definitions =======================

[homes]

comment = Home Directories

browseable = no

read only = yes

create mask = 0700

directory mask = 0700

valid users = %S

;[netlogon]

; comment = Network Logon Service

; path = /home/samba/netlogon

; guest ok = yes

; read only = yes

;[profiles]

; comment = Users profiles

; path = /home/samba/profiles

; guest ok = no

; browseable = no

; create mask = 0600

; directory mask = 0700

[printers]

comment = All Printers

browseable = no

path = /var/tmp

printable = yes

guest ok = no

read only = yes

create mask = 0700

[print$]

comment = Printer Drivers

path = /var/lib/samba/printers

browseable = yes

read only = yes

guest ok = no

; write list = root, @lpadmin

#========================================== media files ===========================================

[dropbox]

    browseable = yes                                                                                                                                                            

    read only = no                                                                                                                                                              

    guest ok = yes                                                                                                                                                              

    path = /r6tb/dropbox                                                                                                                                                        

    follow symlinks = yes                                                                                                                                                       

    force user = root                                                                                                                                                           

    server smb encrypt = off

removed all the comments so it would fit. Left in all global configs incl. the inactive lines, home, printers and the 1 share in question.

I’m sure it’s my config after your testing, likely user related but I don’t know enough about samba to know :slight_smile:

Honestly would prefer to use NFS which is my preferred solution but neither AIO nor Windows (Home) runs it so I’m left still using samba too.

Found this:

The server smb encrypt = off is in the [dropbox] section, but it needs to be in [global]. The encryption negotiation happens at session level — before any share is selected — so a per-share setting has no effect there.

Move it to the global section:

[global]
   server smb encrypt = off
   ...

Then restart Samba and try again.

Also — did you get a chance to check /var/log/samba/log.smbd during a failed connection attempt? That would confirm what exactly the server is rejecting.

That makes logical sense, but same result.

log.smbd on the server is only showing the restarts - no errors thrown. This is from the restart I just did after the move to [global]

[2026/05/15 20:32:27.837043,  0] source3/smbd/server.c:1971(main)                                                                                                                   

smbd version 4.22.8-Debian-4.22.8+dfsg-0+deb13u1 started.

Copyright Andrew Tridgell and the Samba Team 1992-2025

Good to know — but the log you need is not log.smbd. Your smb.conf has log file = /var/log/samba/log.%m, which creates a separate log file per client machine. The errors will be in a file named after the AIO container, something like log.nextcloud-aio-nextcloud.

After a fresh failed connection attempt, run:

ls -la /var/log/samba/

and share the contents of whichever file matches the AIO container name.


ernolf

Apologies. I had actually spotted that last night after sending the reply. When I looked in the entries for both nextcloud and my desktop here I could see no entries for the recent actions - the last nextcloud was April 19th:

[2026/04/19 08:37:04.034937,  0] source3/param/loadparm.c:3514(process_usershare_file)                                                                                              

process_usershare_file: stat of /var/lib/samba/usershares/s14tb01 failed. Permission denied

When I look at mounts made from my desktop the last message is from May 9th. Before writing this I made some deliberate mount fails from the desktop with wrong credentials and they did not show.

So - I tried to mount a share hosted on my desktop with bad creds from proxmox56 - that log correctly shows an error:

[2026/05/16 10:46:14.713988, 0] source3/smbd/smb2_service.c:117(chdir_current_service)
chdir_current_service: vfs_ChDir(/mnt/nuc11-ssd1tb/Pictures) failed: Permission denied. Current token: uid=65534, gid=65534, 1 groups: 65534

When I try to mount the same share as external from AIO, the nextcloud log is created but is empty.

I originally thought it was a samba log issue but if I am mounting from proxmox by command line and AIO but only commandline shows the attempts, then that suggests to me that AIO isn’t really trying to reach the share?

Hi @mikebakke,

The empty log is the most useful piece of information yet. A log file named after the AIO container being present means Samba did receive a TCP connection from AIO — so it is not a network issue. But nothing being written to it means the failure happens before Samba has anything worth logging at the default level. That rules out authentication and share access as the failure point — both of those would produce level-0 entries.

Since moving server smb encrypt = off to [global] did not help either, we need to see exactly what Samba is receiving at the session level. Please temporarily add this to [global]:

log level = 3

Restart Samba, trigger a fresh failed mount from AIO, then share the contents of the AIO client log file. At level 3 the full SMB session setup is captured — dialect negotiation, authentication method, everything. That will tell us precisely where it falls over.

One more thing: your share has both guest ok = yes and force user = root. Could you try temporarily removing those two lines and adding an explicit Samba user account for the credentials Nextcloud is using? I want to rule out a conflict between the guest/force-user setup and the way NC33’s SMB library now handles authentication.


ernolf

Hi - I had already removed those 2 lines as I suspected they might be related. They were off on the last tests. I will add the trace and delete the current NC log file because that was there since before the upgrade.

May take a while as I’m afk now but will do once back.

Rgds

Mike

Test 1:

existing log deleted , original credentials

root@proxmox56:/var/log/samba# cat log.nextcloud-aio-nextcloud
[2026/05/17 08:37:36.141057,  3] source3/auth/pampass.c:475(smb_pam_end)
  smb_pam_end: PAM: PAM_END OK.
[2026/05/17 08:37:36.141176,  3] source3/smbd/server_exit.c:230(exit_server_common)
  Server exit (NT_STATUS_CONNECTION_RESET)
[2026/05/17 08:37:36.146904,  3] source3/auth/pampass.c:475(smb_pam_end)
  smb_pam_end: PAM: PAM_END OK.
[2026/05/17 08:37:36.147013,  3] source3/smbd/server_exit.c:230(exit_server_common)
  Server exit (NT_STATUS_CONNECTION_RESET)
root@proxmox56:/var/log/samba#

Test 2

re-enabled force root, not guest (result looks identical)

root@proxmox56:/var/log/samba# cat log.nextcloud-aio-nextcloud
[2026/05/17 08:41:47.390837,  3] source3/auth/pampass.c:475(smb_pam_end)
  smb_pam_end: PAM: PAM_END OK.
[2026/05/17 08:41:47.390960,  3] source3/smbd/server_exit.c:230(exit_server_common)
  Server exit (NT_STATUS_CONNECTION_RESET)
[2026/05/17 08:41:47.395260,  3] source3/auth/pampass.c:475(smb_pam_end)
  smb_pam_end: PAM: PAM_END OK.
[2026/05/17 08:41:47.395368,  3] source3/smbd/server_exit.c:230(exit_server_common)
  Server exit (NT_STATUS_CONNECTION_RESET)

Test 3

disable force root, create new creds

This mounted successfully - log contains a lot of stuff some of which complains about invalid format. I truncated because after this it started listing actual filenames in the share

root@proxmox56:/var/log/samba# cat log.nextcloud-aio-nextcloud
[2026/05/17 08:54:58.695330,  3] source3/auth/pampass.c:475(smb_pam_end)
  smb_pam_end: PAM: PAM_END OK.
[2026/05/17 08:54:58.716654,  3] lib/util/access.c:372(allow_access)
  Allowed connection from 192.168.100.49 (192.168.100.49)
[2026/05/17 08:54:58.716685,  3] source3/smbd/smb2_service.c:584(make_connection_snum)
  make_connection_snum: Connect path is '/tmp' for service [IPC$]
[2026/05/17 08:54:58.716705,  3] source3/smbd/vfs.c:115(vfs_init_default)
  Initialising default vfs hooks
[2026/05/17 08:54:58.716713,  3] source3/smbd/vfs.c:141(vfs_init_custom)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2026/05/17 08:54:58.717458,  3] source3/smbd/msdfs.c:985(get_referred_path)
  get_referred_path: |dropbox| in dfs path \\192.168.100.56\\dropbox is not a dfs root.
[2026/05/17 08:54:58.717470,  3] source3/smbd/smb2_server.c:4074(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_NOT_FOUND] || at source3/smbd/smb2_ioctl.c:355
[2026/05/17 08:54:58.717899,  3] lib/util/access.c:372(allow_access)
  Allowed connection from 192.168.100.49 (192.168.100.49)
[2026/05/17 08:54:58.717912,  3] libcli/security/dom_sid.c:268(dom_sid_parse_endp)
  string_to_sid: SID fred is not in a valid format
[2026/05/17 08:54:58.717955,  3] source3/passdb/lookup_sid.c:1827(get_primary_group_sid)
  Forcing Primary Group to 'Domain Users' for fred
[2026/05/17 08:54:58.717992,  3] source3/smbd/smb2_service.c:584(make_connection_snum)
  make_connection_snum: Connect path is '/r6tb/dropbox' for service [dropbox]
[2026/05/17 08:54:58.718000,  3] libcli/security/dom_sid.c:268(dom_sid_parse_endp)
  string_to_sid: SID fred is not in a valid format
[2026/05/17 08:54:58.718036,  3] source3/passdb/lookup_sid.c:1827(get_primary_group_sid)
  Forcing Primary Group to 'Domain Users' for fred
[2026/05/17 08:54:58.718065,  3] source3/smbd/vfs.c:115(vfs_init_default)
  Initialising default vfs hooks
[2026/05/17 08:54:58.718071,  3] source3/smbd/vfs.c:141(vfs_init_custom)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2026/05/17 08:54:58.718091,  3] libcli/security/dom_sid.c:268(dom_sid_parse_endp)
  string_to_sid: SID fred is not in a valid format
[2026/05/17 08:54:58.718127,  3] source3/passdb/lookup_sid.c:1827(get_primary_group_sid)
  Forcing Primary Group to 'Domain Users' for fred
[2026/05/17 08:54:58.718251,  3] source3/smbd/smb2_service.c:824(make_connection_snum)
  nextcloud-aio-nextcloud (ipv4:192.168.100.49:45280) connect to service dropbox initially as user fred (uid=1001, gid=1001) (pid 2472782)
[2026/05/17 08:54:58.720193,  3] source3/smbd/smb2_trans2.c:2012(smbd_do_qfsinfo)
  smbd_do_qfsinfo: level = 1005
[2026/05/17 08:54:58.723428,  3] source3/smbd/dir.c:736(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry: mask=[\*] found . fname=. (.)
[2026/05/17 08:54:58.723461,  3] source3/smbd/dir.c:736(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry: mask=[\*] found . fname=.. (..)

In NC I can read from the share but not write which is logical because on the host the share is still owned by root.

So - it’s good that it can mount but I’m confused why it failed as root. The working smb.conf is

[dropbox]                                                                                                                                                                           
            valid users = fred                                                                                                                                                  

    browseable = yes                                                                                                                                                            

    read only = no                                                                                                                                                              

# guest ok = yes

    path = /r6tb/dropbox                                                                                                                                                        

    follow symlinks = yes                                                                                                                                                       

# force user = root

Obviously previously I hadn’t issued smbpasswd against root but it was mountable from everywhere else including windows.

Hi @mikebakke,

The logs tell the full story — thank you for being this thorough.

One small side note: your post was quite hard to read because the log output was not formatted as a code block. I have taken the liberty of editing it to show how it should look — feel free to use that as a reference. Since Markdown is the basis for communication in this forum as well as in Nextcloud’s own editors, it might be worth a quick look at the Markdown cheat sheet — it makes a big difference for everyone trying to help.

Tests 1 & 2 — what NT_STATUS_CONNECTION_RESET means here:

PAM authentication succeeded (you can see smb_pam_end: PAM_END OK twice — once for the IPC$ probe, once for the share itself). But the connection was reset immediately after. This happens because NC33’s SMB client now sends explicit NTLMv2 credentials for every connection — it no longer falls back to guest/anonymous authentication even for shares that allow it. Root was the configured user, but root had no smbpasswd entry, so there was no NT hash for NTLMv2 to work with. PAM checked the Unix password and was happy; the SMB authentication layer had nothing to work with and dropped the connection.

Windows and other clients were connecting to that share via guest authentication (which guest ok = yes allows), not by actually authenticating as root. NC32 did the same. NC33 does not — it always authenticates explicitly.

Test 3 — why it worked:

fred has a proper smbpasswd entry, so NTLMv2 authentication could complete. The string_to_sid: SID fred is not in a valid format warnings are harmless — that is normal for a local Unix user on a standalone Samba server without a domain SID.

The read-only problem:

That is a straightforward file ownership issue. The share directory /r6tb/dropbox is owned by root. Since force user is gone, Samba now operates as fred, and fred cannot write to root-owned files. Fix:

sudo chown -R fred:fred /r6tb/dropbox

After that, NC should have full read/write access.

Takeaway:

The actual root cause for your setup is not the encryption change I suspected earlier — it is that NC33’s SMB client dropped guest/anonymous authentication fallback. Any share that relied on guest ok = yes without a proper smbpasswd user will break. The fix is always the same: a dedicated Samba user with a password set via smbpasswd, and matching ownership on the share directory.


ernolf