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

Unix/Linux
IBM服务器中所用到UNIX系统AIX
Linux操作系统下常见文件类型分析
RHCE认证考试心得
RHCE认证考试的考前准备
Redhat认证考试心得之二满分通过TroublesShooting
Redhat认证考试心得之一死记硬背篇
让多台电脑上网,多重上连ISP的路由设置
解决Linux下批量添加大量账户的问题
使用TRA命令进行磁带备份的命令汇总
快速让你的RedHat9支持NTFS文件系统
Linux系统管理员秘技:用快捷命令一招制胜
选择一种 Linux 发行版
详谈Linux 2_4_x内核信号量机制
Red Hat Linux 入门指南
Red Hat Linux 定制指南
桌面应用:宽屏笔记本,915GM芯片组,Linux的设置
桌面应用:FC3常见问题处理方法
cvs server on RH9
搞Linux安全的注意了,现在有SSH的暴力破解软件
Linux下硬盘分区最佳方案

Unix/Linux 中的 NFS 和 NIS


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 182 ::
收藏到网摘: 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 信息才好继续。切记 

如果您碰到