macOS and SMB File Sharing
Some time ago back in 2013, Apple decided to deprecate their AFP file sharing protocol and advised Mac users to migrate to use Server Message Block (SMB) file sharing.
However, using SMB has been some what problematic on past few years with numerous reported problems with speed, permissions and file corruption. Hence, AFP is still popular, where the Acronis Access Connect (previously known as GroupLogic ExtremeZ IP) solution is a popular alternative to SMB.
But now with the release of Apple’s new filing system (APFS), Apple are again advising migration away from AFP due incompatibility with APFS.
So what is the real life compatibility of macOS working with SMB file shares?
Let’s start by mentioning blogs and comments advising Mac users to switch back to use SMBv1 or CIFS. This is really bad advice due to inherent security flaws in SMBv1 which enabled the WannaCry ransomware attack. SMBv1 should not be used at all.
It’s definitely possible to run a reliable file sharing service using SMB shares with macOS if your environment is configured appropriately as shown below:
- Use flat permissions across each shares. Do not allow folders with different permissions within a share.
- Do not use the ‘Creator Owner’ permission on shares. This will cause a permissions disaster if multiple users share files.
SMB Protocol Version
- Use the SMBv3 protocol, which requires a modern NAS, Windows Server 2012r2 or Windows Server 2016.
- Use macOS 10.12 or macOS 10.13. Both support SMBv3.02 but not the newer SMBv3.1.1 version available with Windows Server 2016.File sharing performance with 10.13 is much better than previous macOS versions with improved folder enumeration of files due to changes in the browsing behaviour – See Adjust SMB browsing behavior in macOS High Sierra 10.13
- Disable network .DS_Store files – See Disable ds_store files on the network
- Disable SMB packet signing to speed up file downloads – See Turn off packet signing for SMB 2 and SMB 3 connections
- Disable local SMB caching, but note, this can impact browsing on high latency network – See Disable local SMB directory enumeration caching
- Network searching and client side Spotlight indexing of network shares cannot to done efficiently or effectively so find a new workflow that doesn’t require client side searching of network shares.
Apple SMB Implementation Documentation
Other than a few snippets, Apple doesn’t provide any detailed information on their SMB implementation. Therefore, we (Business & Enterprise) request you provide better information on your SMB implementation, including best practise advise, a roadmap for compatibility with SMB 3.1 and future versions. etc…