Nfs – Mount Mac OS X 10.7 share on CentOS

centos5mac-osxnfsserver-message-block

I need to create a mount point/share on a Mac OS X 10.7.4 (non-server) machine that a CentOS 5.2 box can mount. I've searched a ton but most instances are for using a linux server and Mac client… I'm going the other way around. I spent a day trying to get this to work via SMB, but apparently the SMB client on CentOS doesn't work with the SMBX server on OS X. (If anyone knows of a walkthrough for 10.7 that works, please let me know. All I've found are a bunch of "it doesn't work" posts…)

So I spent another half day trying to get NFS setup. I have the export setup and showmount -e shows the correct point. nfsd checkexports seems to validate the setup as well.

exports: /Test -network 10.xx.xx.xx -sec=sys -mask 255.255.254.0 -maproot=nobody
I tried configuring that both manually and used the NFS Enabler sys pref as well. I also tried it without the -sec flag

sudo mount -t nfs 10.xx.xx.xx:Test /var/www/Test/ is what I'm trying to setup. I also tried the hostname. Both yield the same result:

Mount 10.xx.xx.xx:Test failed, reason given by server: Permission denied

Firewall is off. I can ssh in from the linux box to the Mac. If I change the mount point I get a different error, so I think it is actually starting to connect but after entering my password, permission is denied. I've never used NFS before, so I'm a bit unsure on how the username/user ID bit works.

I would install netatalk and give that a try, but I don't have a lot of control over the server so I would prefer to leave it as close to its default config as possible.

Thanks

Best Answer

Mounting an SMBX share from Lion on Linux requires a CIFS kernel module with NTMLSSP support. CentOS 5.2's kernel doesn't have it, so mounting via smb/cifs (mount -t cifs) won't work with SMBX no matter what you do. That is, of course, unless you recompile a newer kernel which I assume you wouldn't want to. That doesn't leave you with much in the SMB/CIFS realm that leaves a static mount. Alternatively, you can run a separate instance of SAMBA on Lion that is not SMBX: SMBUp or via MacPorts.

As far as NFS goes, your UID's have to be the same between the boxes. Most likely, except on managed systems designed to use NFS, this is not the case. Easiest way to check is to do ls -l /Test on Lion, see who owns the directory, then do id user. Example:

> id user
uid=110(user) gid=111(users) groups=111(users)

There has to be a user of the same "purpose" on the linux box with the same UID. If there's a conflict (that happens a lot), it won't work.