iPhone Files app says the SMB share is read only: how to fix it

By Isaac Griffiths, developer of SMBDrop ·

You connect to your NAS or shared folder from the Files app, the folders appear, you can open files, and then nothing. New Folder is greyed out, Paste does nothing, and saving fails. Meanwhile your Mac or Windows PC writes to the same share, with the same account, without complaint.

If that started after an iOS update, you're in good company. The Apple Community thread "How to resolve SMB server read-only access on iPhone?" has over 200 "Me too" votes, and most of the reports start with iOS and iPadOS 18.0 in September 2024. This guide covers the real permission check first (because sometimes the share really is read only), then the server-side fix that has worked for many people who reported it.

Short version: if another device can write with the same username, the fix that has worked for many people is adding vfs objects = streams_xattr to the [global] section of the server's Samba config and restarting it. Appliances like Unraid, OpenMediaVault and QNAP need their own route, covered below.

Step 1: Make sure it isn't a real permission problem

Before you edit anything on the server, rule out the boring causes. They're quicker to fix.

  1. Test from another device with the same username. Sign in from a Mac or PC as exactly the account the iPhone uses and try to create a folder. If that fails too, it's permissions, not iOS.
  2. Check you aren't signed in as Guest. In Files, eject the server (Browse, then the Eject button next to it under Shared), then reconnect with Connect to Server and choose Registered User. Files can hang on to an older or limited login, so a clean reconnect is worth doing anyway.
  3. Check the share and folder permissions. On a Synology the levels are No access, Read/Write and Read only. On Unraid, a share set to Secure gives everyone, guests included, read access only, so your user needs to be given write access explicitly. On Windows, the account needs both the share permission and the folder's own (NTFS) permission, as covered in the Windows shared folder guide.
  4. On Linux, check the folder underneath. Samba can say a share is writable while the directory itself isn't writable by the mapped user. ls -ld on the share path tells you who owns it.

If everything checks out and other clients can write, the problem is the one below.

Why iOS 18 started doing this

Nobody outside Apple knows the exact reason, and Apple hasn't said anything. The working theory from people who've dug into it is that the Files app now checks for named streams or extended attributes on the server, and if that check fails it falls back to read only. A packet capture posted in the Apple thread, from iPadOS 18.0 against Windows 10, Windows 11 and Windows Server 2016, showed the server granting full access when the share was connected, while the files themselves were then opened read only. So this isn't only a Samba thing: Windows servers were caught too.

Reports continue through iOS 18.1, 18.2 and 18.5, and one person saw it on iPadOS 26. I haven't found any reports specific to iOS 27, which doesn't mean it's gone. There was also an older, separate wave of read-only reports with iOS 14.5.

Step 2: The fix for Samba (Linux, Raspberry Pi, most DIY servers)

Edit /etc/samba/smb.conf and add this line to the [global] section. If there's already a vfs objects = line, add streams_xattr to the end of it rather than adding a second line.

[global]
   vfs objects = streams_xattr

If you'd like fuller macOS compatibility at the same time, the stack many people use is:

   vfs objects = catia fruit streams_xattr

Then check the config and restart Samba:

testparm
sudo systemctl restart smbd

On some distros the service is called smb rather than smbd. Then eject and reconnect on the iPhone.

A few things that tripped people up:

If you're setting up a Pi from scratch, the Raspberry Pi Samba guide includes these lines from the start.

Step 3: NAS and appliance fixes

Unraid

Go to Settings → SMB and set Enhanced macOS interoperability to Yes. You have to stop the array to change it. Results in the Unraid forum thread are mixed: it fixed it for one person and not for another, even after a reboot. An older thread reports that turning the option off produced read-only access, so it's worth trying. The Unraid and TrueNAS guide covers users and share security.

OpenMediaVault

Adding the vfs line by hand didn't work for one OMV user. What did: enabling Time Machine support on the share, under Services → SMB/CIFS → Shares.

QNAP

A QNAP owner in the Apple thread fixed it over SSH with:

setcfg global "VFS Objects" streams_xattr -f /etc/config/smb.conf

It takes effect straight away, but it doesn't survive a Samba service restart or a reboot of the NAS, so you'll need to run it again (or script it) after each one.

TrueNAS SCALE

The global option is Enable Apple SMB2/3 Protocol Extensions in the SMB service's advanced options. I haven't found a TrueNAS source saying it fixes the iOS read-only problem specifically, so treat it as something to try rather than a known fix.

Windows

Windows was affected according to that packet capture, and there's no smb.conf to edit. Do the permission checks in step 1, and see the workaround below.

WD My Cloud and Fritz!Box routers

People reported these as affected with no fix they could apply themselves. WD support said it couldn't guarantee the Files app works, and AVM said it was working on a fix.

Synology

I haven't found a report either way on whether Synology DSM shares were hit by this. If your Synology share is read only from the iPhone, start with the permission checks above and the DSM 7.2 settings to check.

If you can't change the server

People in these threads worked around it by writing with a third-party SMB client instead of the Files app (FileBrowser, GoodReader and others are mentioned). Third-party apps use their own SMB code, so they don't necessarily behave the same way. The best SMB apps for iPhone compares the main ones.

Where SMBDrop fits

Disclosure: I make SMBDrop. It's an app for sending photos, videos and files from an iPhone to an SMB share. It talks to the same server as the Files app, so if the account really is read only, or the server is refusing writes, the fixes above still apply. I haven't tested it against a server that's missing streams_xattr, so I'm not going to claim it gets around this. If you do use it, check that Settings → Privacy & Security → Local Network is turned on for SMBDrop, because third-party apps need that permission to reach your NAS. It's £9.99 once, with no subscription and no account.

If you mostly move photos, the Files app's other limits are worth knowing too. For other connection errors, see the Files app can't connect to server and "Content Unavailable" on an SMB share.

FAQ

Why is my SMB share read only on iPhone but writable on my computer?

Since iOS 18, many people have found the Files app opening SMB shares read only. Apple hasn't documented why, but the working theory is that it happens when the server doesn't support Apple's streams and extended attributes. On Samba, adding vfs objects = streams_xattr to the global section and restarting Samba has fixed it for many people who reported it. Check the account's real permissions first.

Does this only affect Samba servers?

No. A packet capture shared on Apple's forums showed Windows 10, Windows 11 and Windows Server 2016 affected too, and users reported Unraid, OpenMediaVault, QNAP, WD My Cloud and Fritz!Box devices.

Do I need the full fruit configuration?

Not always. Several people found that vfs objects = streams_xattr on its own was enough, and one found the full fruit stack didn't help until streams_xattr was in the global section. The catia fruit streams_xattr stack is a common choice if you also use Macs.

Will the QNAP setcfg fix survive a reboot?

No. The setcfg command takes effect straight away but doesn't persist across a Samba service restart or a NAS reboot, so you have to run it again afterwards.

More guides

Try SMBDrop

Send original photos, videos and files from your iPhone straight to your own SMB share. One purchase, no account, no subscription.

Download SMBDrop on the App Store £9.99 once · no subscription · iOS 17+