首页 > 代码库 > yum nfs

yum nfs

linux下3大文件共享方法

1.NFS

NFS服务器配置

编辑/etc/exports,在文件中列出,要共享的目录。书写规则是:共享目录主机(参数)。并且每条规则占据一行。例如:

/mnt/mp3 192.168.10.168(ro,sync, no_root_squash)

上面的规则代表将/mnt/mp3目录以读写同步方式共享给主机192.168.10.168。如果登陆到NFS主机的用户是root,那么该用户就具有NFS主机的root用户的权限。

具体的可选参数如下所示:

  1. rw:可读写的权限
  2. ro:只读的权限
  3. no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限
  4. root_squash:在登入NFS主机使用目录的使用者如果是root时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的UID与GID都会变成nobody那个身份
  5. all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody
  6. anonuid:将登入NFS主机的用户都设定成指定的userid,此ID必须存在于/etc/passwd中
  7. anongid:同anonuid,但是变成groupID就是了
  8. sync资料同步写入存储器中
  9. async:资料会先暂时存放在内存中,不会直接写入硬盘
  10. insecure允许从这台机器过来的非授权访问 

客户机配置

客户机配置相对简单,只需要使用下述命令mount NFS文件系统即可:

#mount -t nfs 192.168.10.168:/home /mnt/mp3

上述命令将远程的共享目录挂接到本地的/home目录下,用户可以直接对该目录进行操作,从而获取远程的共享资源。

启动NFS服务

#service portmap start
# service nfs start

下面通过一个具体的例子来介绍NFS的安全性配置。假设在某个网站上有某个目录名为/popgame目录可以开放给NFS客户机来进行下载共享等工 作,而这台服务器的IP地址为:202.168.10.8,它可以开放目录给的主机的IP地址为202.168.10.10、 202.168.10.13(当然可以提供给更多的服务器,而且他们的IP地址也可以各式各样,现在举的例子有点像局域网中的情况,不过原理相同)。那么 我们首先就需要对服务器端的/etc/exports文件进行编写:

我们先进入目录/etc,然后vi exports,那么就会进入到该文件的编辑界面,我们输入如下的内容:

/popgame 202.168.10.10(ro) 202.168.10.13(ro)

我们可以清楚的看到,目录/popgame只能导出到IP地址为上述的客户机上,而且他们的权限也只能是只读,因为他们只是需要简单的共享下载游戏 的功能,并不需要具备创建目录、修改文件的功能,而且如果提供了的话,那将会出现安全隐患。下面接着配置客户机的/etc/fstab文件,进入该文件你 将需要加入如下的内容,原文件上已经有的内容不要随意更改,否则会影响系统配置,影响文件系统:

202.168.10.8: /popgame /mnt/game nfs ro 0 0

其中的/mnt/game目录是你要将服务器上的/popgame目录挂接到你的客户机上的本地目录,也就是说,当共享了NFS文件系统以后,你可以通过访问本地目录/mnt/game来访问共享的文件。因为现在有两台客户机,所以每一台上都要如上配置。

配置完成以后,就需要在客户机上将服务器的NFS挂接到本地客户机上了,命令如下所示:

mount –t nfs 202.168.10.8: /popgame /mnt/game

特别需要注意的是:在执行命令之前,你必须先要关掉本地客户机上的防火墙,否则也不会挂接成功。原因是防火墙将会阻碍远程过程调用。现在你就可以放心的使用远程的网络资源了。

总结基于yum 部署nfs

NFS服务器端执行命令语句:

yum -y install nfs-utils rpcbind

编辑/etc/exports设置需要共享的目录

内容类似

/byRuiy/hack 192.168.1.158(ro,sync,no_root_squash)

语句表示将/byRuiy/hack 目录 以读写同步方式共享给nfs客户端

在NFS客户端执行命令语句:

mount -t nfs 192.168.1.159:/byRuiy/hack /rui

表示将服务器的/byRuiy/hack 目录挂载到/rui目录

sshfs挂载远程目录到本地

2. sshfs

yum 安装sshfs 安装RPMForge

Centos安裝:

預設的yum套件來源並無sshfs這個套件,安裝RPMForge來擴增套件來源

1.先安裝rpmforge

參考:http://wiki.centos.org/zh-tw/AdditionalResources/Repositories/RPMForge

我的server是 Centos 5.6 for i386

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

(可根据使用的Linux版本 到http://pkgs.repoforge.org/rpmforge-release/    自行选择下载)

rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

2.安裝完rpmforge後,就可以使用yum來安裝sshfs

yum install fuse-sshfs

 

掛載遠端資料:

1.先建立一個掛載點

mkdir /tmp/sfr2.掛載遠端檔案

sshfs root@sfr:/light/MAIN /tmp/sfr

or

sshfs -p 22 root@sfr:/light/MAIN /tmp/sfr

完成,你可在本機的/tmp/sfr 操作遠端檔案了

卸載:

umount /tmp/sfr

or

fusermount -u /tmp/sfr

简单助记一下

基于nfs目录共享,不论在客户端还是在服务端修改,同步到两端;

基于sshfs目录,只有在服务端修改 的会在客户端出现,但是在客户端挂载共享目录修改,则不会被同步服务器端的;

3.samba服务器