Wednesday, August 26, 2015

UBUNTU SHARED FOLDER Linux to LINUX machines

I want to mount a folder from a Linux machine on another Linux machine. How do I do that? Do I need to update /etc/fstab or /etc/export?
My target is to mount /tmp from the other Linux machine. I have Debian 5.1. 10.45.40.165, that is the IP of the other machine.
For example I tried:
mount -t nfs 10.45.40.165:/tmp /tmp
mount: 10.45.40.165:/tmp failed, reason given by server: Permission denied
shareimprove this question

migrated from serverfault.com Jun 22 '11 at 14:39

This question came from our site for system and network administrators.
1 
Why was this migrated from SF? –  Ignacio Vazquez-Abrams Jun 22 '11 at 14:42
   
@Ignacio Well - the OP most probably is no sysadmin. David, I assumed you have Debian. Correct me if I'm wrong. Anyway, there is no Linux 5.1. –  slhck Jun 22 '11 at 14:44
1 
@slhck, @Darth: If you insist. –  Ignacio Vazquez-Abrams Jun 22 '11 at 14:48
1 
@David: Please post /etc/exports and the output of netstat -plant and iptables -L from the server. –  Ignacio Vazquez-Abrams Jun 22 '11 at 14:48 
1 
@David: have you started an NFS server on the server machine? Is iptables running on the server? –  PeltierJun 22 '11 at 14:50

2 Answers

What you are doing is NFS share. On a Debian system you should install the tools necessary. Lets assume that the client (the machine on which you want to mount the remote folde) and server (the machine where remote folder is)
On server you'll need to install
apt-get install nfs-server portmap nfs-common
in new debian versions
apt-get install nfs-kernel-server portmap nfs-common
On the client you'll need to install:
apt-get install nfs-client nfs-common
My package selection could have more or less what you need but, some combinations will do.
Now what you need to do is put the folders you want to share with remote machine in /etc/exports:
/path_to_tmp_folder/tmp 192.168.0.2(rw,sync,no_subtree_check,no_root_squash)
Then:
exportfs -ra
/etc/init.d/nfs-kernel-server restart
/etc/init.d/portmap restart
Here 192.168.0.2 is the address of your local machine, replace that with your own IP. exports file has the list of machines that can access the shared folder. If your machines don't have firewall restrictions to each other (you can solve this by adding host to /etc/hosts.allow).
Now on your local machine you can use the command:
sudo mount -o soft,intr,rsize=8192,wsize=8192 server_ip:/path_to_tmp_folder/tmp /local_path_to_empty_tmp_folder/tmp
If you want to have automatic mount on boot you need to edit your /etc/fstab file and put the line on your client:
server_ip:/path_to_tmp/tmp /local_empty_folder/tmp nfs rsize=16384,wsize=16384,rw,auto,nolock
This is just an example of settings (copy pased from my own), you need to check nfs help to see what suites you best.
shareimprove this answer
   
any reason why r/wsize is different for the mount approach as opposed to the fstab approach? –  puk Sep 26 '13 at 18:23
   
instead of nfs-server in new versions of debian the nfs-kernel-server should be used. This information is in debian dependency tree. So update of the answer is recommended. –  Dee Aug 2 '14 at 10:21
   
Can you allow a subnet in the exports file? –  nonsensickle Aug 13 '14 at 22:33

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.