在linux中如何实现文件共享呢?其实很简单,它的共享是基于nfs的,nfs是网络文件系统,它能实现不同主机之间文件共享,就像windows的网上邻居!在linux中如何实现此功能呢?实现其功能也非常简单,只需通过安装nfs包(redhat默认安装),配置其相应的文件即可!



常用命令



     showmount -e NFS_SERVER:查看NFS服务器"导出"的各文件系统



     showmount -a NFS_SERVER:查看NFS服务器所有被挂载的文件系统及其挂载的客户端对应关系列表



     showmount -d NFS_SERVER:查看NFS服务器所有导出的文件系统中被客户端挂载了文件系统列表



     exportfs -a:表示重新导出所有的文件系统,跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统



     exportfs -r:重新导出



     exportfs -u:取消导出



     exportfs -v:显示详细信息



     mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT /PATH/TO/SOME_EXPORT:将共享的目录挂载至某处



编辑/etc/exports文件,要写明要共享的磁盘、文件、目录路径及共享的客户端列表,客户端列表有多个要使用空格分隔,其后必须要用小括号写上访问权限!



操作如下:



服务器端:IP=172.16.15.5



客户端:IP=172.16.15.4



共享的文件为/shared



服务器端配置:



# mkdir /shared # touch /shared/gong # vim /etc/exports /shared 172.16.15.4(ro)




在启动nfs服务器时,要先启动rpc,应为nfs是基于rpc上工作的!



# service portmap start # service nfs restart




共享成功,在客户端挂载即可!



客户端操作:



查看其NFS服务器共享的信息,并在172.16.15.4中挂载共享文件!



# showmount -e 172.16.15.5 # mount -t nfs 172.16.15.4:/shared /root/abc





linux nfs 共享文件夹不显示 linux查看nfs共享目录命令_开发工具



访问属性(导出属性):



ro:只读              rw:读写



sync:同步          async:异步



root_squash:将root用户映射为来宾账户



no_root_squash:将root用户不映射为来宾账户



all_squash:将所有用户映射为来宾账号



anonuid,anongid:指定映射的来宾账号的UID和GID



如何将所有用户映射为来宾账号?创建一个用户作为来宾账号,在将共享文件的属主、属组均改为来宾账号。



# useradd -u 510 nfstest # touch /shared/test # chown nfstest.nfstest /shared/test # vim /etc/exports /shared 172.16.15.4(rw,all_squash,anonuid=510,anongid=510) # exportfs -ra # showmount -e 172.16.15.5




客户端查看结果:




linux nfs 共享文件夹不显示 linux查看nfs共享目录命令_linux nfs 共享文件夹不显示_02



客户端实现开机自动挂载:



编辑/etc/fstab添加要挂载的项;



# vim /etc/fstab 172.16.15.5:/shared /root/abc nfs defaults,_rnetdev 0 0




说明:_rnetdev:开机时,如果挂载错误,可以跳过此挂载!