Anyway, as good (or quite frankly brilliant) as the Pi is, the capacity of an SD card isn't going to go far; so connecting to my trusty NAS drive (e.g. shared folder) was going to be a neccessity and as I was going to be using it a lot, automatically mounting it when the Pi started was also needed.
I was going to be need Samba to connect to my NAS, which can be installed using:
Install/Update Samba
(using Debian Squeeze)
Smbfs is required and while smbclient is not, its a useful tool that I thought I might need in the future.
sudo apt-get install smbfs smbclient
(using Raspian)
Samba is already installed and smbfs has been depreciated in wheezy.
(using Raspbmc)
Samba is already installed but I needed to installed cifs-utils in order to mount my NAS drive.
sudo apt-get install cifs-utils
Make a directory to mount your NAS too
I choose to put it in the pi user's home directory using the structure /home/pi/server/share:
cd /home/pi
mkdir myNAS
cd myNAS
mkdir myShareEdit fstab file
I needed to edit the fstab file to mount the NAS drive at startup:
sudo nano /etc/fstab
I added the following line to the bottom of the file:
//myNAS/myShare /home/pi/myNAS/myShare cifs username=your_username,password=your_password,workgroup=your_workgroup,vers=1.0,users,auto,user_xattr 0 0
And saved the changes.
WARNING - this will mean your username & password is stored in plain text viewable to all on the device, if this is going to be a problem you can use a credentials file, see http://anothersysadmin.wordpress.com/2007/12/17/howto-mount-samba-shares-in-fstab-using-a-credential-file/
Test
I tested the change by mounting the NAS drive using the command:
sudo mount -a
I then navigated to the mount directory and successfully retreived a directory listing from my NAS:
cd /home/pi/MyNAS/MyShare
ls
Success!
Reboot
To be double sure, reboot and make sure your NAS is connected:
sudo shutdown -r now
This comment has been removed by the author.
ReplyDeleteHi there,
ReplyDeletefirst of all thanks for your tutorials...they are really useful!
I'm trying to mount my WD MYBOOKWORLD on the Raspberry, but I'm facing some issues...
My NAS is on 192.168.1.101, so the line added on /etc/fstab is:
//192.168.1.101/PUBLIC/backup_raspberry /mnt/NAS username=USERNAME,password=PASSWORD,workgroup=WORKGROUP,users,auto,user_xattr 0 0
Then I try to mount it, but I'm having this error:
mount: unknown filesystem type 'user_xattr'
Any suggestion on that?
Regards
I realise this is a bit late for your purposes, but just in case others come here with the same problem. Assuming the server and share name are correct, the correct line in /etc/fstab is
Delete\t \t cifs (assuming it was formatted as FAT32) \tusername=USERNAME,password=PASSWORD,workgroup=WORKGROUP,users,auto,user_xattr \t 0 0
where \t=tab.
Thank you for a great tutorial.
ReplyDeleteOnly thing I want to add, on mine I didn't have write permissions for the shared folder/files. I added....in the fstab statement
file_mode=0777,dir_mode=0777,
Regards, Sofaman
Great tip, thanks
DeleteHey Nigel I tried this and it comes with an error,
DeleteOption 'file_mode0777' requires a numerical argument
Any ideas about how to fix this?
Please advise
Hi, thanks for the tutorial. When I type sudo mount -a it asks for my password but then after a pause I'm told "Mount point 0 does not exist". I'm not really sure what the mount point refers to so I'm bereft of ideas to fix it. Can you help?
ReplyDeleteThanks
Its not an error ive come across before. Its odd that its asking you for your password, it shouldnt if its in the fstab correctly. Id check there first and make sure the username and password are correct.
DeleteThanks, I'll try that
DeleteAny solution to this? I get the same password prompt and then same error but the file system actually mounts, it's just read only... :( Any help?
DeleteI'm getting the same error, but without it asking for my password. Any advice?
DeleteIt suggests you have got an error in your /etc/fstab file, like its badly formatted, make sure there is no odd characters or line breaks in it and the that mount point you create i.e. the directory exists, remember its case sensitive too. If you send me the contents of the fstab file im happy to have a look.
DeleteChange
Deleteusername=your_username,password=your_password,workgroup=your_workgroup,users,auto,user_xattr 0 0
TO (change username to user and add uid and sec)
user=your_username,password=your_password etc..
I had the prompting for the password issue. I wound up adding the following to 1 line:
ReplyDelete//myNAS/myShare /home/pi/myNAS/myShare cifs username=your_username,password=your_password,workgroup=your_workgroup,users,auto,user_xattr 0 0
I'm pretty much a noob at command line, but I got this to work. You just have to remember to change //myNAS/myShare, your_username and your_password in the fstab to what those values for the device are. When you're done your fstab additions should look something like this:
ReplyDelete//192.168.xxx.xxx/myLibrary /home/pi/myNAS/myShare cifs username=JoeBob,password=12345,workgroup=Workgroup,users,auto,user_xattr 0 0
Thanks for the help man. I'm happily streaming music from my Nas through my Pi! Cheers!
ReplyDeleteHi! It's a good guide. I try it nce, and it works... But I need to re-install my raspbmc, and now it doesn't work...
ReplyDeletei get this message:
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
in my fstab:
//192.168.16.40/public/ /media/NAGYFEHER(this is the name of NAS) cifs username=my_username,password=my_password,workgroup=MSHOME,users,auto,user_xattr 0 0
what's the problem?
I try it, with "admin" password too...
my nas does not need a password to login, how should it look in the fstab file?
ReplyDeleteInstead of username=user,password=pass you can substitute it all with guest.
Deletee.g.
//192.168.16.40/public/ /media/NasName cifs guest,workgroup=MSHOME,users,auto,user_xattr 0 0
Hi,
ReplyDeleteI am able to mount my Windows share and set permissions using:
sudo mount -t cifs -o username=username,password=password,rw,file_mode=0777,dir_mode=0777 //192.168.x.x/share mountpoint
I need the permissions to be set, otherwise I'm unable to write to the share. Plus, adding this line to /etc/fstab mounts the share at boot, with read/write permissions:
//192.168.x.x/share home/pi/mountpoint cifs username=username,password=password,rw,file_mode=0777,dir_mode=0777 0 0
Fill in your own values and you should be OK. Be sure that access permissions are set correctly on the Windows share, including all sub-folders that you wish to share.
had the same issue with the password request. then i stumbled upon Martins advice regarding odd characters or line breaks... I had a line break after the cifs in the fstab like it is shown on the webpage. I removed the line break and everything works fine now. Just thought others might have the issue due to the same mistake. Thanks for the tutorial.
ReplyDeleteHi Martin,
ReplyDeleteI followed you guide and everything works except after reboot the NAS does not connect. I have to enter the 'sudo mount -a' and it starts to work again. Any idea on how I can automate this?
Cheers
Now thats wierd! If it mounts using sudo mount -a, I have no idea why it doesnt mount at boot, as far as Im aware its basically running the same command. Sorry
Deletei have the same problem here?
Deletei have the same problem here?
DeleteThis comment has been removed by the author.
DeleteThis comment has been removed by a blog administrator.
DeleteIn order to be sure that the network is ready during the boot, there is an option Wait for Network at Boot in raspi-config.
Delete- sudo raspi-config
* 3. Boot Options
* B2 Wait for Network at Boot
Found that here: https://raspberrypi.stackexchange.com/questions/34444/cant-get-a-cifs-network-drive-to-mount-on-boot (Not top answer as of now but probably should be)
Mine had the "Mount point 0 does not exist" error and I tried rebooting and now it is stuck at "Configuring Network Interface". Any thoughts?
ReplyDeleteSorry, no none at all. Its not a problem I have seen before.
DeleteThis comment has been removed by the author.
ReplyDeleteThis will make it mount at boot!
ReplyDeletehttp://raspberrypihelp.net/tutorials/12-mount-a-samba-share-on-raspberry-pi
If you add your connection correctly to fstab it will mount the share on boot, you dont need to add it to rc.local
DeleteWhen I mount using "sudo mount -a" it works, but after reboot it does not mount automatically.
ReplyDeletestrange, there's no reason why it shouldn't unless for some reason at boot it cant connect to the drive.
DeleteFound the answer on a forum. If the share is not password protected, it will not be mounted automatically. :)
DeleteAt the boot time the network is not started yet. There is many solutions. Simple one mostly helps, go to PI Menu-preferences-raspberry Pi configuration-System Tab and check "Network at boot"
Deletewrite this to your /etc/rc.local file before the last line:
Deletesudo mount -a
additionally, in your /etc/fstab file use this at the end of your mounting path:
user_xattr 0 2
(instead of user_xattr 0 0)
this will check if the mount has been sucessful and if not it'll retry it. It happens when the mount is attempted before the network is operational.
write this to your /etc/rc.local file before the last line:
Deletesudo mount -a
additionally, in your /etc/fstab file use this at the end of your mounting path:
user_xattr 0 2
(instead of user_xattr 0 0)
this will check if the mount has been sucessful and if not it'll retry it. It happens when the mount is attempted before the network is operational.
This comment has been removed by the author.
ReplyDeleteI get mount error(13): permission denied
ReplyDeleteRefer to the mount.cifs(8) manual page
Mount: mount point 0 does not exist
Can anyone help?
If it helps, I had the same issue and realized that I had entered the username line on a new line. Instead it needs to be on the same line with the path. Hope it helps.
Deletemy issue was it keep on asking me for the root password when mounting the nas drive. where i have already put in a administrator username and password...
ReplyDeleteI have the same issue with root password. I don't understand what that is. I also have another thing to add. I don't have password on my network drive so I left the field empty, is that ok or do I need to specify something? Basically it looks like this: password=,workgroup....
ReplyDeleteAfter searching a while it seems that my raspbian has root password but since I can't use some commands with the excuse that "only root can use "--options" option". Does this mean I have to get that password or am I doing something wrong?
ReplyDeleteVery n00b question, but how do I mount a NAS share that has a space in the name? I added a few shares in fstab. All work fine except:
ReplyDelete//NAS/TV Series /home/pi/NAS/TV_Series cifs username=xxxx,password=xxxx,workgroup=xxxx,users,auto,user_xattr 0 0
This line gives an error telling me:
'mount: mount point Series does not exist'
I cannot easily change the name of the NAS folder, since the folder is tied in with other systems.
Hey there, did you figure this out. I am also a first time linux user so just trying to teach myself as I go.
DeleteSpace chars in fstab are represented by \040
Deleteeg MY PATH should be MY\040PATH
Is there any way to only give writing permission to the mounted folder, without the permission of erasing existing files on the mounted folder?
ReplyDeleteFor example I want to be able to write to my NAS from my RPi, but I don't want to have the permission to erase these files on the NAS using my RPi afterwards.
Have been trying this for an hour and tried just about all the variations given above.
ReplyDeleteMy problem is that when I issue the 'mount' command all I get is the error: 'Couldn't chdir to /home/pi/MyNAS....'
The folder is there and I can 'cd' into it but a manual 'chdir' command returns 'bash: chdir: command not found'
Huh! Explanation anyone? Please ...!
Does it give a reason why it couldnt chdir to /home/pi/MyNAS? Permission denied, directory not found maybe?
Deletefyi - chdir isnt a command its just shortcut for change directory.
If the directory is not found, I would check capitals, files and directories are case sensitive in Linux.
DeleteHello,
ReplyDeleteI get the following error message:
mount: special device ./dev/mmcblk0p1 does not exist
Can someone help me please?
Here's the content of my fstab file:
ReplyDeleteroc /proc proc defaults 0 0
/dev/mmcblk0p5 /boot vfat defaults 0 2
/dev/mmcblk0p6 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, so no using swapon|off from here on, use $
//myNAS/myShare /home/myNAS/myShare cifs
user=username,password=password,workgroup=WORKGROUP,users,auto,user_xattr 0 0
Getting the following output...
sudo mount -a
Password:
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount: mount point 0 does not exist
You have to replace the //myNAS/myShare with the location of your NAS drive. You may also need to give a username and password?
DeleteHi Martin, thanks for the great guide.
ReplyDeleteI have a problem, I can mount a share manually with:
mount -t cifs //serverIP/sharename /home/pi/myNAS/myShare -o vers=1.0,username=XXXX,password=XXXX,workgroup=XXXX
But I don't know how the essential -o parameter would look in fstab.
I have Raspian Stretch installed and the above always worked, until today. It appears there has been a change, you now need to specify vers=1.0
ReplyDeleteThe fstab reference entry should be:
//myNAS/myShare /home/pi/myNAS/myShare cifs username=your_username,password=your_password,workgroup=your_workgroup,vers=1.0,users,auto,user_xattr 0 0
thank you
DeleteThank you!!!
ReplyDeleteI am a newbie and I was able to actually make sense of your post, you simplified it enough I could understand. It also helped me realize the big mistake I had been making. One of my home directories was called RetroPie, but I addressed it as retropie, by not using the appropriate capitalization I was getting an invalid or no directory error. I am from the old DOS days where directory capitalization did not matter. Slowly but surely I am picking some Kali.