Tag Archives: Raspberry Pi

Raspberry Pi as a Mac OSX file server

Update 1/5/2017, I’ve made configuration adjustments to /etc/netatalk/afpd.conf (2nd section below) and /etc/netatalk/AppleVolumes.default (third section below). I also added a section to enable the firewall.

Update 1/4/2017, previously I was unable to make this work with Samba (Windows file sharing for Linux) but after I rebuilt the Pi and followed my own instructions I was able to make this work.

This time I want my Raspberry Pi server to behave as another Mac sharing its files. It is incredibly easy. I use the latest image of Raspberry Pi Raspbian OS Jessie with PIXEL dated 2016-11-25.

First, we install netatalk (this software provides the functionality of an AFP file server used by Macs to share files).

sudo apt-get update
sudo apt-get install netatalk
sudo service avahi-daemon restart
sudo service netatalk restart

Second, I adjust the /etc/netatalk/afpd.conf file and use the following line at the end

– -tcp -noddp -uamlist uams_dhx2.so -nosavepassword -mimicmodel RackMac

Third, now from my Mac’s Finder I can see my raid5 tinypute appear as a shared PC, I can click it, and “Connect As” my tinypute user “pi” using its password and connect to pi’s home directory.

Fourth, if I wanted to add /mnt/raid5/storage to Mac’s file share I would edit /etc/netatalk/AppleVolumes.default. At the end of the file add the following

/mnt/raid5/storage  “RAID 5 Storage”   dperm:0750 fperm:0660 umask:7007

Then update the configuration of /mnt/raid5/storage so users can access it

sudo chgrp -R users /mnt/raid5/storage  #change the group to users (pi is a member of it)
sudo chmod -R ug+r+w,o-rwx /mnt/raid5/storage # change permissions (so pi can access it)

Fifth, install ufw if not already

sudo apt-get install ufw
sudo ufw allow 548
sudo ufw allow 5353

Sixth, restart the whole stack

sudo service avahi-daemon restart
sudo service netatalk restart
sudo service smbd restart

That’s it!


Raspberry Pi 2B RAID 5 build – Part 4 – Final

Now we install Samba which is a file sharing program for Linux, it is Linux’s implementation of the SMB file protocol used by Windows. Once installed we can connect to shared folder on the tinypute from other machines.

First, install Samba:

sudo apt-get install samba
sudo apt-get install libpam-smbpass

Second, configure /etc/samba/smb.conf as follows:

# Maximum number of usershare. 0 (default) means that usershare is disabled.
usershare max shares = 100 #Uncomment this line (remove the first character “;”)

   comment = Home Directories
   browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to ‘no’ if you want to be able to write to them.
   read only = no

Third, create a folder for users to share

sudo mkdir /mnt/raid5/storage
sudo chmod ug+rwx /mnt/raid5/storage

Fourth, configure smb to share the folder, add the following line to /etc/samba/smb.conf

   comment = RAID 5 storage folder
   path = /mnt/raid5
   guest ok = no
   browseable = yes
   create mask = 0600
   directory mask = 0700

Restart the smbd service

sudo service smbd restart

Fifth, we install ufw (uncomplicated firewall) so we can open ports required by Samba.

sudo apt-get install ufw
sudo ufw allow 135
sudo ufw allow 137
sudo ufw allow 138
sudo ufw allow 139
sudo ufw allow 445
sudo ufw enable

Sixth, now we connect to the share we created before in /mnt/raid5 (i.e. storage folder)

Before connecting the user that will access the share must be created.

sudo smbpasswd -a pi #pi is the user that will connect to the shared folder


The shared folder can be connected from another PC now.

On my Mac OSX Yosemite using Finder -> Go -> Connect To Server and enter smb://raid5/storage. A password prompt will be provided, enter as Registered User pi with the SMB password you provided before.

That’s it! New folders can be created, renamed, deleted. The same goes for files, you can edit them too.