Sharing the home folder of the Raspberry Pi with SMB
When you have the Raspberry Pi connected to your network, you can access the home folder by setting up file sharing; this makes it much easier to transfer files and provides a quick and easy way to back up your data. Server Message Block (SMB) is a protocol that is compatible with Windows file sharing, OS X, and Linux.
Getting ready
Ensure that you have the Raspberry Pi powered and running with a working connection to the Internet.
You will also need another computer on the same local network to test the new share.
How to do it…
First, we need to install samba
, a piece of software that handles folder sharing in a format that is compatible with Windows sharing methods.
Ensure that you use update
as follows to obtain the latest list of available packages:
sudo apt-get update sudo apt-get install samba
The install will require around 20 MB of space and take a few minutes.
Once the install has completed, we can make a copy of the configuration file as follows to allow us to restore to defaults if needed:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup sudo nano /etc/samba/smb.conf
Scroll down and find the section named Authentication
; change the # security = user
line to security = user
.
As described in the file, this setting ensures that you have to enter your username and password for the Raspberry Pi in order to access the files (this is important for shared networks).
Find the section called Share Definitions
and [homes]
, and change the read only = yes
line to read only = no
.
This will allow us to view and also write files to the shared home folder. Once done, save and exit by pressing Ctrl + X, Y, and Enter.
Note
If you have changed the default user from pi
to something else, substitute it in the following instructions.
Now, we can add pi
(the default user) to use samba
:
sudo pdbedit -a -u pi
Now, enter a password (you can use the same password as your login or select a different one, but avoid using the default Raspberry password, which would be very easy for someone to guess). Restart samba
to use the new configuration file, as follows:
sudo /etc/init.d/samba restart [ ok ] Stopping Samba daemons: nmbd smbd. [ ok ] Starting Samba daemons: nmbd smbd.
In order to test, you will need to know either the Raspberry Pi's hostname (the default hostname is raspberrypi
) or its IP address. You can find both of these with the following command:
hostname
For the IP address, add -I
:
hostname –I
On another computer on the network, enter the \\raspberrypi\pi
address in the explorer path.
Depending on your network, the computer should locate the Raspberry Pi on the network and prompt for a username and password. If it can't find the share using the hostname, you can use the IP address directly, where 192.168.1.69
should be changed to match the IP address \\192.168.1.69\pi
.