Create a File Server using Samba

Turn your Raspberry Pi into a file server

Written By: Cherie Tan

Dash icon
Steps icon


If you've ever wanted to set up a file server with the Raspberry Pi, this guide is for you. 

You will learn how to use Samba to turn your Raspberry Pi into a local file server for your network. 

Once you have set it up, you can use your newly created file server on all other computers on your network and have a convenient place to store everything you want to share with housemates, friends or family.

Step 1   What is Samba

  • Samba is an open-source, Linux implementation of the CIFS/SMB protocol. 
  • CIFS stands for Common Internet File System, while SMB stands for Server Message Block protocol. 
  • This means that you can easily share your Raspberry Pi's files and folders across a network using Samba.

Step 2   Install Raspbian

  • Before going any further, you will need the Raspbian operating system running on your Raspberry Pi.
  • You will need the latest version of NOOBS loaded on a blank microSD card, to install the Raspbian operating system. 
  • In this guide, we recommend using a microSD card already preloaded with NOOBS. Otherwise, please follow our previous guide if you would like to create a NOOBS microSD card of your own.

Step 3   Create the shared directory

  • Now that you have Samba installed, the next step is to create a shared directory on your Raspberry Pi. So enter the following command: sudo mkdir -m 1777 /share 
  • The '1' at the start helps prevent the directory from being deleted by accident. The '777' that follows gives read/write/execute permissions for every user that access the directory. Anyone will be able to do so either as a Samba user or as a guest.

Step 4   Configure Samba

Comment = Pi shared folder
Path = /share
Browseable = yes
Writeable = Yes
only guest = no
create mask = 0777
directory mask = 0777
Public = yes
Guest ok = yes
  • The next step involves editing the Samba config files so that file sharing will become visible to computers on the network. To open up the Samba config file,  enter the following command: sudo nano /etc/samba/smb.conf
  • This will open the config file in the text editing app, Nano, where you can edit text files directly in the terminal window without a graphical user interface. 
  • If you do not want to allow guests to access the directory, remove the line: Guest ok = yes
  • Press CTRL+O and then Y to save. Then press CTRL+X to exit Nano.

Step 5   Restart Samba

  • Finally, restart Samba with the following command: sudo /etc/init.d/samba restart
  • Now whenever you start up the Raspberry Pi, Samba will start up automatically.

Step 6   Find Raspberry Pi on your network

  • Open up Explorer on your Windows computer, head over to the Network folder and you should see RASPBERRYPI.
  • If you are using Mac OSX, you should see RASPBERRYPI under shared devices in Finder. 
  • It is recommended that you use an ethernet connection. WiFi will work just fine although performance may be affected when it comes to transferring large files and folders.
  • From Raspbian, you can drag and drop files and folders into the 'share' folder found in the root directory. These files should  show up in the RASPBERRYPI folder on your respective devices connected to the local network!

Step 7   Set up Samba

  • First we will update the repository, so type the following command:  sudo apt-get update 
  • Then we will make sure it is fully upgraded: sudo apt-get upgrade 
  • Now install samba using:  sudo apt-get install samba samba-common-bin

Step 8   Set up a user

  • Now we will set up a Samba password. So type the following:  sudo smbpasswd -a pi 
  • You will be prompted to set a password.
© 2022 Little Bird Electronics Pty Ltd.
Made with ❤️ in SYD. All prices inc GST. ABN 15 634 521 449. We're 🐥 @lbhq on Twitter.