My SMB shares won’t mount under Catalina! What’s wrong

catalinamountsmb

I am in the process of migrating from Mojave, on my iMac's internal HDD, to Catalina, on a USB 3.1 SSD.

I have an AppleScript that runs on login, "Connect to servers and set mouse pointer." It mounts my SMB shares, resets several Finder windows to icon view without toolbar, closes the finder windows opened, and then trips Mousecape, to set my mouse pointer to look like a small rodent.

Everything works just fine under Mojave, but the SMB shares aren't mounting under Catalina.

The very first thing it does is mount my SMB shares, using code of the following form (once for each share):

try
    open location "smb://uuuuuuuu:pppppppp@xxx.xxx.xxx.xxx/dddddddd"
end try

where uuuuuuuu is my user-ID, and pppppppp is my password, on the Linux box hosting the SMB share, at local IP address xxx.xxx.xxx.xxx, and name dddddddd.

This works perfectly under Mojave, but under Catalina, it (1) throws up a dialog showing the user-ID and asking for my password, and (2) rejects the password when entered.

Can anybody shed any light on what's going on here?

As per https://medium.com/@gobinathm/how-to-access-smb-printer-shares-in-macos-catalina-10-15-17ea91d2c10b, I added an nsmb.conf file; doing so had no effect.

I think I found something: on StackExchange, I stumbled onto something about Catalina removing support for SMB 1 protocol. With some further research, I found out about the "smbstatus" command at https://askubuntu.com/questions/917565/checking-smb-version. I ran it on the Linux box serving the SMB shares, and got this, with my Mac connected under Mojave:

Samba version 3.0.33-3.14.el5
PID     Username      Group         Machine                        
-------------------------------------------------------------------
32496   jamesl        users         jamess-imac  (192.168.1.11)
32499   jamesl        users         jamess-imac  (192.168.1.11)
Opened /var/cache/samba/connections.tdb

Service      pid     machine       Connected at
-------------------------------------------------------
shared       32499   jamess-imac   Wed Apr  1 15:19:22 2020
development   32496   jamess-imac   Wed Apr  1 15:19:22 2020

Could this be it? The Linux box in question is running CentOS 5.4, FWIW.

Best Answer

It turns out that the version of Samba (3.0) running on the server only does SMB1, whereas Catalina requires at least SMB2 (which didn't come in until Samba 3.5).

Caught between a rock and a hard place.

Given that the Samba box (1) is now only being used, at least on any sort of regular basis, by me, making it gross overkill, (2) is literally doing nothing but serving SMB1 and consuming power, and (3) is a 15-year-old Dell 400SC, I'm probably going to replace it outright. Possibly with a thumb drive.