4

I have a Mac (Sierra with 1 user account) and a Synology NAS (DSM 6.0 with 2 user accounts), and I'd like to mount shares for both accounts on my Mac. So I wrote that script (and set it as startup item):

try
    delay 5
    mount volume "afp://user1:pass1@nas.local/Share1"
    mount volume "afp://user2:pass2@nas.local/Share2"
end try

Problem is, the first mount command works, but not the second (whatever the order of the lines), as if there were only one AFP user allowed at the same time. The error message is (approximately translated):

Connexion to nas.local server failed.

Share doesn't exist on the server. Check the share name, then retry.

Looks like the first user is used for the second mount command.

I don't think it's an AFP limitation (is it?), so there may be another way to mount those shares?

  • Out of curiosity, what happens if you add another delay between the two mounts? – Monomeeth Feb 14 '17 at 23:20
  • The same thing. – gregseth Feb 15 '17 at 18:59
2

You can't login to the same Netatalk (AFP)1 server with two different sets of credentials. This is why you are are seeing the result you are seeing.

When you log into AFP server, there is a 1:1 relationship between the client and the server. This is why your client is able to browse and find all of the available shares under that login. It won't allow you to log in again because you would have to break the existing connection first. However, you can log into a different AFP server.

This is also why Fast User Switching doesn't work when your home directories are stored on the network.

You have two options to resolve this:

  1. Make the shares/resources available to the user you want to log in with (Recommended)

  2. Create another Netatalk server instance. It can be another physical server or a sandboxed server.


1 From Wikipedia (AFP): A few NAS solutions support AFP mostly by means of Netatalk: LaCie EtherNet Disk & 12big (AFP 3.3), NETGEAR's ReadyNAS (AFP 3.2), QNAP (AFP 3.x), Synology's Disk Stations (AFP 3.1), ... being commercial examples and FreeNAS and napp-it (which use Netatalk) being free software examples.

  • Ok, but... let's say I'm using Share2 as a TimeMachine volume. How come it's working? I mean I manually mount Share1 as user1, and TimeMachine successfully mounts Share2 as user2 and performs its backup. – gregseth Feb 16 '17 at 20:26
  • Without seeing your actual configuration, I can only speculate. However, if Share2 is being mounted, then it has permissions of the currently logged in user, or the timeout has passed and you are no longer actively connected to the first share. – Allan Feb 16 '17 at 20:46
  • The TM volume is mounted with (afpfs, nobrowse) options, when Share1 is mounter with (afpfs, nodev, nosuid, mounted by user1). – gregseth Feb 16 '17 at 21:04
  • See my comment re: timeout. There is an idle or no activity timeout for AFP. That will disconnect the client/kill the session. If that happens, then TM can mount a new one. See support.apple.com/kb/PH8578?locale=en_US – Allan Feb 16 '17 at 21:14
  • Yes, but Share1 is mounted and accessible before, during and after the TM backup. Doesn't look like a timeout to me. – gregseth Feb 16 '17 at 21:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .