TIL there are Apple-specific Samba server configuration settings ================================================================ By George Mandis https://george.mand.is/2024/10/til-there-are-apple-specific-samba-server-configuration-settings Sunday, October 20th 2024 I've been having fun with Raspberry Pis lately. Besides my [solar-powered website](/2024/10/solar-pi/) project, I've been playing with making tiny servers and hiding them around my apartment. To what end, I'm uncertain. Already I can see myself falling into some kind of digital "Ideal Palace" obsession like [Ferdinand Cheval](https://en.wikipedia.org/wiki/Ferdinand_Cheval)—little computers in my garden, my books, and other hidden nooks-and-crannies, connected to my network with playful names and curious peripherals, tasked with curious purpose... But this isn't about that. I'm simply writing to document an interesting thing I learned on the way to setting up a Samba server on one of those little computers. ## So, what is a Samba server? A [Samba server](https://www.samba.org/samba/what_is_samba.html) is standard server software that lets you share files and printers on a network regardless of operating system. Historically it's (probably) the reason you can print your documents at work or the library when you're connected to the network or share files between machines. Samba uses the SMB (Server Message Block) and CIFS (Common Internet File System) protocols to facilitate this. If you have a macOS or Windows machine, these things typically “just work”—you’ll see other people’s machines and shared peripherals on the network, to the extent that they’ve been made public and set to share. ![A screenshot of what I see in my network tab, where I have started to name my little computers are the moons of jupiter starting with Europa, Callisto and Ganymede](https://georgemandis.s3.us-west-1.amazonaws.com/samba-network-in-action.png) Why the Jovian naming convention you might ask? Besides the obvious reason being space is cool, [there are 95 of them](https://science.nasa.gov/jupiter/moons/all-jupiter-moons/). That gives me ample room to lean into this theme. Now, when I click into into any of those moons of Jupiter, I can peruse the folders I've specified as browseable in the Samba config on that machine. ![A screenshot of browing the files on Ganymede](https://georgemandis.s3.us-west-1.amazonaws.com/ganymede-files.png) As you can see in that screenshot, I've set the home folder to be browseable. This is all on my private network at home, so there isn't really any risk. Maybe I'll reconsider all this some day. There isn't really anything on there and I haven't decided what to do with it, but being able to remotely view and control the machine over VNC and see an item magically show up on the desktop that I dragged into the "Desktop" folder from my Mac is kind of fun. ## Making it nice on macOS Every time I'd tried to implement a Samba server from scratch on my Raspberry Pi it just felt... funky. I'm not articulating it well, but the experience I expected was more or less clicking on the name of the server and being able to browse the files, more or less like it's another folder. The stock Samba configurations never quite did this. I noticed however that the out-of-the-box file sharing configuration for my [Zimaboard](https://shop.zimaboard.com) _did_ work the way I expected. What was different, I wondered? ![Screenshot of the default Samba server configuration on my Zimaboard](https://georgemandis.s3.us-west-1.amazonaws.com/zimboard-samba-config.png) Aha! Immediately the `fruit:` prefixed options jumped out at me. It turns out there are some Apple-specific options you can set in your Samba config file. They're all prefixed with `fruit: