PC Nerding

A passwordless NAS using a Rapsberry Pi and Samba 4

Being paranoid about my data, I find it’s always cool to have one more backup device on my LAN. I had a spare 2TB powered USB hard disk and a spare Raspberry PI. So, while I made one for myself, I wrote this guide. Today I want to show you how to get a fully working NAS using Samba, using a passwordless configuration that will allow all your pc to access it without prompts.
IMPORTANT NOTE: being passwordless means that ANYONE on your LAN can access this device. Don’t do such things on shared LANs and make sure your firewall does not allow incoming connections through TCP ports 139 and 445. If you don’t think your network is safe, don’t follow this guide.

I will be using Raspian image (on a 4GB card) for this particular guide because raspi-config utility makes a first steps a little faster, Arch linux should work the same but your mileage may vary. I did everything headless through SSH, you can use a keyboard and monitor, your choice. We do not need more than the command line.

Starting Up

Start by copying Raspbian image to your SD using your favorite method and powering it up.
Do the usual

sudo apt-get update && sudo apt-get upgrade

Now in raspi-config use option 1 to expand filesystem, option 2 to change default password, option 3 to make Pi boot to text console, change PI’s hostname (8 Advanced Option -> A2 Hostname) to something catchy (mine’s called “rpi-backup”) and set GPU memory (8 Advanced Option -> A3 Memory Split) to 16 since we won’t use it. You may want to overclock, but for this setup I value stability over speed.

Hard Disk Setup

Now if you haven’t yet plugged your hard disk, do so now. If you have already formatted your disk continue. If not a little google search will help you.

First thing to do is to create a mount point and change its owner to pi user. Then we will mount our disk in this newly created mount point.

sudo mkdir /media/backup
sudo chown -R pi /media/backup
mount /dev/sda1 /media/backup

Now, to make sure Raspberry does this automatically each boot we must edit the filesystems table file.

sudo nano /etc/fstab

Add this line at the bottom: (NOTE: mine’s filesystem is ext4, if your disk use another filesystem change that value. “auto” will work in most cases)

/dev/sda1   /media/backup    ext4    defaults,user   0   1

Samba Setup

Start this part by installing the required packages

sudo apt-get install samba samba-common-bin

Delete the default configuration file and make a new one

sudo rm /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf

pasting in it those lines:

   workgroup = WORKGROUP
   guest account = pi
   map to guest = bad user

   path = /media/backup
   guest ok = yes
   read only = no

Remember to change workgroup to the one you use.

Now restart your samba server using

sudo /etc/init.d/samba restart

and you are ready to copy/access your files from your Windows, Mac and Linux machines.

Final Notes

I get roughly 10MB/s write and 7MB/s read speed, it could be a little faster while reading but I’m fairly ok with this setup.
As I said in the first lines, this passwordless device is accessible, and writable, by anyone in your LAN. Make sure your LAN is safe before storing critical data.