Samba is the Linux implementation of the SMB/CIFS file sharing standard used by Windows PCs and Apple computers, and widely supported by media streamers, games consoles and mobile apps.
First things first we’re going to update our repository index, make sure our operating system is fully updated, and install Samba using apt-get. Open a Terminal and type:
sudo apt-get update sudo apt-get upgrade sudo apt-get install samba samba-common-bin
Create your shared directory
We’re going to create a dedicated shared directory on our Pi’s micro SD hard disk. You can put it anywhere, but ours will be at the top level of the root file system.
sudo mkdir -m 1777 /share
This command sets the sticky bit (1) to help prevent the directory from being accidentally deleted and gives everyone read/write/execute (777) permissions on it. Configure Samba to share your new directory
Edit Samba’s config files to make the file share visible to the Windows PCs on the network.
sudo nano /etc/samba/smb.conf
In this example, you’ll need to add the following entry:
[share] Comment = Pi shared folder Path = /share Browseable = yes Writeable = Yes only guest = no create mask = 0777 directory mask = 0777 Public = yes Guest ok = yes
This means that anyone will be able to read, write, and execute files in the share, either by logging in as a Samba user (which we’ll set up below) or as a guest. If you don’t want to allow guest users, omit the guest ok = yes line. Create a user and start Samba
Before we start the server, you’ll want to set a Samba password.
sudo smbpasswd -a pi
Then set a password as prompted. Finally, let’s restart Samba:
sudo /etc/init.d/samba restart
From now on, Samba will start automatically whenever you power on your machine.