David McCusker is looking at sharing file systems from MacOS X to Linux. I’m not so sure about the specifics of OS X, but since it’s UNIX underneath and I’ve been looking at network file systems lately, I’ll share what I know.

Dethe Elza says OS X can share files using SCP, WebDAV, SAMBA, or NFS. Each of those will work with Linux, of course, with various levels of completeness.

  • SCP Manually copy each file over. Yuck.
  • WebDAV Yes, you could mount this under Linux as a regular file system, but that would mean compiling a kernel module and using alpha-quality code.
  • SAMBA This works, too. I use it every day at work to mount the shares from our Windows 2000 servers. It seems ok, except that it isn’t really made for sharing files between UNIX systems. For example, smbfs on Linux doesn’t have a way to map multiple user ids. For a single user on the client, it is probably fine.
  • NFS If you want to share files from one UNIX machine to multiple UNIX clients, this is probably your best bet. If you start cross-mounting, then you run into the problems mentioned in the Jargon File. But, for a single server, it should be fine.

    Plus, NFS is stateless, so you can turn off the client and the server will continue chugging away. I managed a network at at university where clients would be up and down and the server didn’t have any problems. If the server goes down and you are accessing the data, your client will hang until the server comes back up.

  • SFS Ok, they didn’t mention this, and I don’t think you can use OS X, but the Self-Certifying File System offers an encrypted file system using a public key system. For a systems level hacker interested in security, this would be a great project on OS X.

Note: This is written assuming that Linux is the client. If Mac OS X is the client, the NFS case is probably the same, but I don’t know anything about the others.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.