The Basics
- Nextcloud Server version (e.g., 29.x.x):
31.0.2 (latest docker release)
- Operating system and version (e.g., Ubuntu 24.04):
Ubuntu 24.04
- Web server and version (e.g, Apache 2.4.25):
Apache/2.4.62
- Reverse proxy and version _(e.g. nginx 1.27.2)
nginx/1.27.4
- PHP version (e.g, 8.3):
8.3.20
- Is this the first time you’ve seen this error? (Yes / No):
Yes
- When did this problem seem to first start?
15.04.2025
- Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
Docker Compose
- Are you using CloudfIare, mod_security, or similar? (Yes / No)
No
Summary of the issue you are facing:
One of the users on my Nextcloud instance has read-only access to a Team Folder, even though they belong to the correct group with full permissions.
I’m using the Team Folders app to manage shared access. The folder in question has two group-based permission rules:
- Group “User”: No access to the folder
- Group “Images”: Full access to the folder
The reason behind this setup is that every user is part of the “User” group by default, but I don’t want all users to access the “Images” folder. To control access, I assign the “Images” group only to users who should have full access.
When I initially tested this setup with my own account, it worked as expected:
- Without the “Images” group: I couldn’t see the folder.
- With the “Images” group: I had full read/write access.
However, one user recently reported that they can see the folder but can only read, not write. I removed the “Images” group from their account, and they could no longer see the folder (which is expected). But when I re-added the group, they still only had read access.
I’ve tested the exact same scenario with several other user accounts, and they all have full access when assigned to the “Images” group. The issue seems to affect only this one user.
I already tried deleting the Account and recreating it, but without success.
Steps to replicate it (hint: details matter!):
Sadly, I don’t have a clue how to reproduce this since this seems to be only for that one particular User
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.
No Error in the Timeframe
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.
Not related to the Browser/Computer. We tried it on different Machines with different Browsers
Web server / Reverse Proxy
The output of your Apache/nginx/system log in /var/log/____
:
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:01 +0200] "GET / HTTP/2.0" 302 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:01 +0200] "GET /apps/files/ HTTP/2.0" 200 44972 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:04 +0200] "REPORT /remote.php/dav/files/BROKEN_USER/ HTTP/2.0" 207 156 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:04 +0200] "GET /ocs/v2.php/apps/files/api/v1/folder-tree?path=%2F&depth=1 HTTP/2.0" 200 136 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:07 +0200] "PROPFIND /remote.php/dav/files/BROKEN_USER/ HTTP/2.0" 207 1058 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:08 +0200] "GET /apps/onlyoffice/ajax/template HTTP/2.0" 200 22 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:09 +0200] "PROPFIND /remote.php/dav/files/BROKEN_USER/ HTTP/2.0" 207 1058 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:10 +0200] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/2.0" 200 81 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | PUBLIC_IP - - [16/Apr/2025:14:43:10 +0200] "GET /ocs/v2.php/apps/notifications/api/v2/notifications HTTP/2.0" 200 81 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36" "-"
nginx | 127.0.0.1 - - [16/Apr/2025:14:43:10 +0200] "GET / HTTP/1.1" 301 162 "-" "curl/7.88.1" "-"
The Username has been replaced by BROKEN_USER
for privacy reasons
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!):
{
"system": {
"htaccess.RewriteBase": "\/",
"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
}
],
"upgrade.disable-web": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost",
"my.domain.com"
],
"allowed_admin_ranges": [
"PUBLIC_IP\/32"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "31.0.2.1",
"overwrite.cli.url": "https:\/\/my.domain.com",
"overwritehost": "my.domain.com",
"overwriteprotocol": "https",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"maintenance": false,
"maintenance_window_start": 1,
"skeletondirectory": "\/var\/www\/html\/data\/skeleton",
"loglevel": 3,
"forbidden_filename_basenames": [
"con",
"prn",
"aux",
"nul",
"com0",
"com1",
"com2",
"com3",
"com4",
"com5",
"com6",
"com7",
"com8",
"com9",
"com\u00b9",
"com\u00b2",
"com\u00b3",
"lpt0",
"lpt1",
"lpt2",
"lpt3",
"lpt4",
"lpt5",
"lpt6",
"lpt7",
"lpt8",
"lpt9",
"lpt\u00b9",
"lpt\u00b2",
"lpt\u00b3"
],
"forbidden_filename_characters": [
"<",
">",
":",
"\"",
"|",
"?",
"*",
"\\",
"\/"
],
"forbidden_filename_extensions": [
" ",
".",
".filepart",
".part"
],
"defaultapp": "files",
"app_install_overwrite": []
}
}
The allowed Admin IP has been replaced by PUBLIC_IP
The Domain Name has been replaced by my.domain.com
Apps
The output of occ app:list
(if possible).
Enabled:
- activity: 4.0.0
- admin_audit: 1.21.0
- app_api: 5.0.2
- bruteforcesettings: 4.0.0
- circles: 31.0.0
- cloud_federation_api: 1.14.0
- dashboard: 7.11.0
- dav: 1.33.0
- federatedfilesharing: 1.21.0
- files: 2.3.1
- files_accesscontrol: 2.0.0
- files_automatedtagging: 2.0.0
- files_pdfviewer: 4.0.0
- files_retention: 2.0.0
- files_sharing: 1.23.1
- files_trashbin: 1.21.0
- files_versions: 1.24.0
- forms: 5.1.0
- groupfolders: 19.0.4
- integration_openai: 3.5.0
- logreader: 4.0.0
- lookup_server_connector: 1.19.0
- notifications: 4.0.0
- oauth2: 1.19.1
- onlyoffice: 9.8.0
- privacy: 3.0.0
- profile: 1.0.0
- provisioning_api: 1.21.0
- serverinfo: 3.0.0
- settings: 1.14.0
- sociallogin: 6.0.1
- suspicious_login: 9.0.1
- tables: 0.9.1
- text: 5.0.0
- theming: 2.6.1
- twofactor_backupcodes: 1.20.0
- updatenotification: 1.21.0
- viewer: 4.0.0
- whiteboard: 1.0.5
- workflowengine: 2.13.0
Disabled:
- comments: 1.21.0 (installed 1.20.1)
- contactsinteraction: 1.12.0 (installed 1.11.0)
- encryption: 2.19.0
- federation: 1.21.0 (installed 1.20.0)
- files_downloadlimit: 4.0.0 (installed 3.0.0)
- files_external: 1.23.0
- files_reminders: 1.4.0 (installed 1.3.0)
- firstrunwizard: 4.0.0 (installed 3.0.0)
- nextcloud_announcements: 3.0.0 (installed 2.0.0)
- password_policy: 3.0.0 (installed 2.0.0)
- photos: 4.0.0-dev.1 (installed 3.0.2)
- recommendations: 4.0.0 (installed 3.0.0)
- related_resources: 2.0.0 (installed 1.5.0)
- sharebymail: 1.21.0 (installed 1.20.0)
- support: 3.0.0 (installed 2.0.0)
- survey_client: 3.0.0 (installed 2.0.0)
- systemtags: 1.21.1 (installed 1.20.0)
- twofactor_nextcloud_notification: 5.0.0
- twofactor_totp: 13.0.0-dev.0
- user_ldap: 1.22.0
- user_status: 1.11.0 (installed 1.10.0)
- weather_status: 1.11.0 (installed 1.10.0)
- webhook_listeners: 1.2.0 (installed 1.1.0-dev)