I've gone through an absolute nightmare over the last 3 days, trying to get my Linux Mint box to share files with Macs and Windows 10/11 computers on my home network.
I used to have an Apple Time Capsule router with a built in hard drive, but they're no longer supported, and use outdated SMB1. I switched to a different router, and was intending to use a usb drive connected to it, but found out that was only possible with SMB1 as well.
I then thought it would be easy to set up my 2006 Mac Pro to act as a file server, since I had it running well with Mint. This turned out to be much, much, much, much harder than I originally anticipated.
First off, Mint doesn't share files easily with Windows. You need to install SAMBA, which is a communication protocol that can talk to Windows computers. The installation is easy, but after that, it needs to be configured. That's where the nightmares start. Every drive, folder, and file has permissions associated to it, and those have to be adjusted to allow specific users to have access to them. It all has to be done via a terminal, and modifying a special file, like a Windows registry file. There's no simple GUI that I could find that would make this easy. You really have to know a lot more "tech" stuff to get this working. Most of the time was spent googling all kinds of forums on linux. To make things even worse, every drive has a mount point, and that mount point has to have the right permissions settings too.
Three days later, and with significant loss of hair, I am now able to log into the Mint box through my home network. With Macs, I have to use the "Go" menu, and "Connect to Server". I can see the Mint box with the file shares. When I try to see the Mint box from Windows, nothing shows up in the Network. I have to manually type in the IP address for the Mint box ( with the \\ symbols in front). Then the Mint box shows up.
I've only been able to get it to work by using the user name and password for the administrator of the Mint box. I should be able to add other users and passwords, but nothing I've done so far has allowed this to work. I can usually see the shares in the network, but I can't even open them. Since I'm the only user in my home network, this is O.K., but If I wanted to control access for multiple users, I'd be stumped.
There are some other interesting things I've learned through this process. You have to think hard about how you want to format your drives for file sharing. Linux gives you many different formatting options, such as ext4 (native Linux), NTFS (Windows), HFS+ (older macs), FAT32 (older PCs), and many others. I'm using the drives to backup files, so you need to consider what type of files are going to be backed up. FAT32 can usually be read and written to by any Linux, Windows, or Mac computer, so if your Linux box dies, you can remove the drive and connect it into another computer to read the files. If you formatted the drive to ext4, then it won't be readable when connected directly in a Windows or Mac computer. A Windows computer won't read an HFS+ formatted drive either. The first thought would be to format the shared drive as FAT32, since most computers would be able to read it, but FAT32 has some limitations in file size, and may not work with huge files, such a operating system installer dmg files.
I'm now thinking I would have been better off creating a FAT32 formatted drive to share most "general" files, but then also create a NTFS drive to backup system related stuff for Windows, and an HFS+ or APFS drive for Mac system files.