当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > NFS 和 NIS

Unix/Linux
Linux下Socket连接超时的一种实现方法
谈一谈至关重要的Linux系统Swap交换区
Linux系统GRUB引导单用户模式三种方式
实例解析:虚拟机中Lvs的负载均衡实验
实用技巧:DOS文件转换成UNIX文件格式
Linux系统多进程查看及调配管理方法
非常实用 Linux系统开机提速我有绝招!
Linux系统中的文件目录结构介绍(表)
Linux操作系统如何完美装载Windows分区
Linux系统访问Windows分区FAT32和NTFS
高手进阶 Linux系统下MTD/CFI驱动介绍
新手看招 Linux系统的参数配置优化技巧
Xmanager 远程登陆Linux系统后配置Xdm
新手学堂:Emacs只启动一个进程的方法
小技巧 在Linux桌面上建立“我的文档”
Linux slab 分配器详解
拨开云雾:Lastlog文件不断变大的原因
使用ImageMagick 的提示与技巧
认识Linux操作系统中的播客客户端
Linux系统中显示设备配置工具介绍

Unix/Linux 中的 NFS 和 NIS


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 139 ::
收藏到网摘: n/a

  使用 Telnet 之後您就无需再要在荧幕和键盘之间跑来跑去了。不过通过 Telnet 连接所使用的档案系统都是远端系统如果您要将资料回存在本地电脑上面就不那麽方便了。您有否想过将远端的资料 mount 进本地的档案系统中呢那麽NFS(Network File System) 就可以帮到你了。 

另外使用 telnet 的时候您有否发觉到一个麻烦现在的 telnet 已经禁止使用 root 进行登录了您如果要使用到 root 的权限您得使用其他帐号登录然後用 su 切换到 root 的身份去。这样在使用 telnet 之前您就必须为每一个使用者在每一台Linux机器上建立独立的帐号。您是否希望好像 NT 那样有一个中央的 DOMAIN 登录资料库呢有此念头完全正确而好消息是您也可以在 Linux 上面使用 NIS (Network Information Service) 来做到 

我们只需指定某一台 Linux 机器做 NIS 伺服器而其他则可以做为 NIS 客户使用。如果您的网路较大也可以考虑安装 Slave NIS 伺服器来分担 Master NIS 的工作。这里我只说说 NIS Server 和 Client 的设定Slave NIS 则留给您自己去研究了。 

设定NFS

要设定 NFS关键是在 server 那端/etc/exports 这个档案。在下建议您先输入 man exports  


看一下如何设定这个档案。如果这个档案设定错误了以後重新开机的时候您可等得非常不耐烦了。下面是我这里的设定 /tmp (rw,no_root_squash)
/home/public/sw *.siyongc.domain(ro,insecure)
/home/public/upload 192.168.0.22(rw,all_squash,anonuid=2043,anongid=2044)

 


这里您可以看到我将 /tmp 这个目录完全分享出去了在括号里面的‘rw’就是 Read&Write 的意思而‘no_root_squash’呢则是允许让使用者具备 root 的权限在某些特殊情况下例如使用 bootp 登录的无磁碟工作站是相当好用的。因为预设情况下 NFS 会将 root 的身份 squash 为权限较低的 anonymous (nobody) 身份而其它身份则以 client 端机器上当时拥有的 User ID 和 Group ID 来建立档案。 

第二行我将 /home/public/sw 这个目录分享给以 siyongc.domain 这个 domain 做结尾的所有机器而无需使用 secure port (insecure)但只具备唯读权限(ro)。 

第三行我将 /home/public/upload 这个目录只分享给 192.168.0.22 这台机器且具备了读和写的权限(rw)但在 server 上写入的档案必须换成 anonymous 身份进行。但是其後的设定又将所有 anonymous 换成设定的 UID 和 GID这样的安排是要确定所有写入都按指定身份进行。 

如果您不知道或不想直接修改 /etc/exports 档案您可以使用 netconf 然後选择‘Exported file system (NFS)’来进行设定。 

然後就是重新启动 nfsd  /etc/rc.d/init.d/nfs restart  


测试 NFS

一但 server 设定好了您只需在 client 端输入 mount -t nfs redhat52:/tmp /mnt  


就可以将伺服器端的分享目录 mount 进自己的机器了。 

通常最常见的错误信息是: mount: redhat52:/tmp, reason given by server: Permission denied 

 


造成这样的原因多数是因为 /etc/exports 档案没设定好也就是在分享目录後面的“( )”里面的权限设定建议从简单的设定测试起。或是从 /var/log/messages 这个档案找找原因检查一下被拒绝的原因例如可能会发现客户主机的名称不怎麽对那您就必须要确定 client 的机器名称已经在 /etc/hosts 被“正确”的建立起来或者能够通过 DNS 查询得到(包括正反两解)。 

在我的实践中‘link_relative’有时候会造成‘Unknown keyword’这样会引至 nfsd 无法正常启动。所以当你修改过 NFS 设定最好用下面的 script 来确定 nfsd 能够正常启动才好关机 /etc/rc.d/init.d/nfs stop 
/etc/rc.d/init.d/nfs start  


确定没有 failure 信息才好继续。切记 

如果您碰到