Tag Archives: raspberrypi

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

Second, install ufw firewall if not already

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

Third, restart services

sudo service avahi-daemon restart
sudo service netatalk restart

Third, 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

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, restart the whole stack

sudo service avahi-daemon restart
sudo service netatalk restart

Sixth, 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.

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.

Update 4/14/2019, at some point before today, Samba was released without libpam-smbpass module. It was used to sync passwords between Samba and Linux’s user database. I’m about to run this post again and see how Samba works (or maybe not) without libpam-smbpass module. So far OK, no issues.

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 “;”)

[homes]
   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

[storage]
comment = RAID 5 storage folder
path = /mnt/raid5
guest ok = no
browseable = yes
read only = no
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

smbpasswd

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.