Skip to content

Do not stop directory listing when ACL is blocking access (local external storage) #28277

@ghost

Description

Same as
#26658
but not for "external storage | smb" but "external storage | local".

Details:
#26658 (comment)

Hi! So im on the 21.0.3 docker version, this fix was backported to - still having the issue with local-mounted external folders:
Running: docker exec --user www-data nc_dd_app_1 php occ files:scan --path="/Dominik/files/nas_Setups/Tools"
still getting a Permission denied exception:

Exception during scan: opendir(/mnt/nas_Setups/Tools/@eaDir): failed to open dir: Permission denied
#0 [internal function]: OCA\Files\Command\Scan->exceptionErrorHandler(2, 'opendir(/mnt/na...', '/var/www/html/l...', 135, Array)
#1 /var/www/html/lib/private/Files/Storage/Local.php(135): opendir('/mnt/nas_Setups...')
#2 /var/www/html/lib/private/Files/Storage/Common.php(878): OC\Files\Storage\Local->opendir('Tools/@eaDir')
#3 /var/www/html/lib/private/Files/Storage/Wrapper/PermissionsMask.php(158): OC\Files\Storage\Common->getDirectoryContent('Tools/@eaDir')
#4 [internal function]: OC\Files\Storage\Wrapper\PermissionsMask->getDirectoryContent('Tools/@eaDir')
#5 /var/www/html/lib/private/Files/Cache/Scanner.php(409): iterator_to_array(Object(Generator))
#6 /var/www/html/lib/private/Files/Cache/Scanner.php(389): OC\Files\Cache\Scanner->handleChildren('Tools/@eaDir', true, 3, 1046216, true, 0)
#7 /var/www/html/lib/private/Files/Cache/Scanner.php(392): OC\Files\Cache\Scanner->scanChildren('Tools/@eaDir', true, 3, 1046216, true)
#8 /var/www/html/lib/private/Files/Cache/Scanner.php(341): OC\Files\Cache\Scanner->scanChildren('Tools', true, 3, 864151, true)
#9 /var/www/html/lib/private/Files/Utils/Scanner.php(260): OC\Files\Cache\Scanner->scan('Tools', true, 3)
#10 /var/www/html/apps/files/lib/Command/Scan.php(158): OC\Files\Utils\Scanner->scan('/Dominik/files/...', true, NULL)
#11 /var/www/html/apps/files/lib/Command/Scan.php(214): OCA\Files\Command\Scan->scanFiles('Dominik', '/Dominik/files/...', Object(Symfony\Component\Console\Output\ConsoleOutput), false, true, false)
#12 /var/www/html/3rdparty/symfony/console/Command/Command.php(255): OCA\Files\Command\Scan->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/html/core/Command/Base.php(169): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/html/3rdparty/symfony/console/Application.php(1009): OC\Core\Command\Base->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/html/3rdparty/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(OCA\Files\Command\Scan), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/html/3rdparty/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/html/lib/private/Console/Application.php(215): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/html/console.php(100): OC\Console\Application->run()
#19 /var/www/html/occ(11): require_once('/var/www/html/c...')
#20 {main}

ACL for the folder is user:nextcloud_docker:deny:rwxpdDaARWcCo:fd-- (level:0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmapbugneeds infostaleTicket or PR with no recent activity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions