One of the really great things about the Raspberry Pi is that it is a Linux based computer, so pretty much anything you can do with a linux computer you can do with a Pi – within reason!
I have previously written a post about being able to remotely access the Raspberry Pi via SSH , in this post I’ll provide instructions on how to create a network shared folder on raspberry pi, so you can easily move files back and forth to Pi to a Windows 8 computer or ubuntu desktop.
For this post I will assume you already have connected your Pi via SSH, however you can still following along even if you haven’t as all we really need is command line access to the Pi.
Getting set up
To enable network sharing on the Pi well need to install a service called Samba.
What is Samba
“Samba is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients.” Samba is freely available, unlike other SMB/CIFS implementations, and allows for interoperability between Linux/Unix servers and Windows-based clients.
Essentially Samba is a little bit of open source goodness that enables linux and windows computers talk to each other.
Installing Samba is fairly trivial task and involves you only running 3 commands in the terminal window on your Raspberry Pi.
sudo apt-get update
sudo apt-get install samba
sudo apt-get install samba-common-bin
After we’ve installed samba on our pi, we need to carry out 2 configuration steps. Firstly, we need to create a folder we want to share and secondly we’ll need to configure samba to actually share the folder.
Create folder to share
Creating a folder to share is really easy, we’ll just create a folder and call it public.
*** Warning : We are going to create a very permissive share folder on our pi. So if security is a concern, then you may want to read up about the security considerations on linux. This how to primarily about creating a share to enable easy access to your Pi over a network ***
We now need to edit the samba configuration file, so we’ll open the file in nano
sudo nano /etc/samba/smb.conf
We need to edit this file in a few locations.
Firstly, because we are going to access the Pi from a Windows 8 computer, we’ll need to change
workgroup = WORKGROUP
workgroup = HOME
We need to enable WINS support, so Change
wins support = no
wins support = yes
Next, we want to enable user security. Remove the hash tag (#) so the entry looks like this:
security = user
To enhance the network performance, do the same with TCP_NODELAY
socket options = TCP_NODELAY
Then we need to create a new share folder information
comment= Pi public share folder
valid users = pi
guest ok = yes
We now need to exit out of nano so Ctrl + X and save it.
We’ll run a check on the config file to ensure we haven’t broken anything
We should see something like this
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
We now need to restart the Samba service in order for it to pick up the new configuration changes
sudo service samba restart
Your Pi should now be sharing files on the network!
You should now be able to access your Raspberry Pi shared folder from you windows machine by open files & folders and navigating to \\raspberrypi
Double clicking on the public folder you may be prompted for a username and password . The default username is pi and the default password is raspberry
Once you’ve entered these you are into the shared folder and you can now add, remove and update files as you wish.
To Access the same folder from a Ubuntu machine simply open files and folders and click on Connect to Server and enter the same credentials as above, but use the IP address of the Pi
A reminder again that this is a very permissive share and I would strongly advise against leaving it this open, if you plan to connect the Pi to the internet or you’re going to store any particularly sensitive information.
A unique background as business owner, marketing, software development and business development ensures that he can offer the optimum business consultancy services across a wide spectrum of business challenges.