Learning NFS/NIS 2nd 读书笔记-Chapter3 NIS Operation

1. NIS是cs结构。NIS的所有data file(比如/etc/hosts, /etc/passwd等),被称作maps,也就是所有NIS server保留的信息被成为maps。client通过和NIS Server通讯从而得到这些maps。NIS Slave server本身也有maps,但是他们不能修改maps,他们只接受来自client的查询。NIS master server保存这maps的最新版本,且可以修改他们,一旦我们在master server上修改了maps,需要立刻通知slave server更新他们的maps,而对于client来说,它并不需要关心自己取来的maps来自master还是slave server。这里有张图,很说明问题:

附件1

2. BTW: NIS data files,NIS Database,NIS maps,他们都是一个意思。

3. 在现实情况中,有可能很多机器都连在一个网段中,但是他们的那些directory信息可能不相同,这时,使用NIS来管理这些数据就有必要能把不同机器 区分开来。为此,NIS发明了domain的概念,虽然很多机器在一个网段中,但是当他们需要NIS maps的时候,需要先指出在哪个NIS domain中获取,这样就避免了大家互相干扰的问题,我们也可以配置多个NIS Server。简言之,我们可以把NIS domain看成是 a set of NIS maps with significant mark.

4. 命令domainname可以用来设置NIS的domain(不是DNS或是其他的domain哦),但是这个设置在机器重启后会失效,除非:修改 /etc/sysconfig/network,加入NISDOMAIN=XXX(RedHat下,Solaris下将domainname直接添加在 /etc/defaultdomain文件中),或是将domainname这句话加到启动过程中,graceful一点可以加在/etc/rc2.d /S69inet脚本中,不然就放在rc.local中也一样。光输入domainname会打印当前设定的NIS domain

5. NIS会管理的文件,即nis map有这些:附件2

6. 这本书中还提到了,最好不要把root用户也纳入nis管理的范畴,这是有道理的。那么,书中给出了这样一种方案,就是首先将/etc/passwd拷贝 到另外一个地方,然后手动将root用户一行删掉,然后修改/var/yp/Makefile,告诉他到另外一个地方去查找passwd这些文件(默认是 在/etc/下查找),如下:

newmaster# mkdir /etc/nispw
newmaster# chmod 0700 /etc/nispw
newmaster# grep -v '^root:' /etc/passwd > /etc/nispw/passwd
newmaster# grep -v '^root:' /etc/shadow > /etc/nispw/shadow
newmaster# cp /var/yp/Makefile /var/yp/Makefile.save
# change the PWDIR variable to /etc/nispw
newmaster# vi /var/yp/Makefile

其实我研究了一下,没这个必要,因为Makefile中有一项配置叫MINUID,默认值是500,这表示nis会从uid大于500开始查找需要管理的用户数据,这就保证了root用户不会被牵连其中。可能是这本书写的比较老了吧。

7. 使用ypinit -m就可以生成maps了,同时一个NIS master server就OK了(设定NISDOMAIN,启动ypserv,执行ypinit -m)。

8. 搭建一个NIS Slave server。首先编辑/etc/hosts,将nis master server的hostname和IP输入,然后编辑/etc/sysconfig/network,将nis domain输入,接着执行ypinit -c,这表示将本机作为一个nis client,然后输入nis master server的hostname和其他slave server的hostname,这样ypbind就可以正常工作了(nis slave server使用ypbind获得更新的maps),最后输入ypinit -s <nis master server hostname>,这样,一个slave server就OK了,当然,做完这个以后,ypserv需要启动哦。所以,nis slave server上ypbind和ypserv都要启动。

9. nis client,需要编辑/etc/sysconfig/network,设定nis domain,然后用ypinit -c设定nis servers,我们平常没有做这一步,如果不做这一步,那么,ypbind将通过广播的方式寻找ypserver。

10. 本书后面讲的东西就越来越枯燥了,将maps文件的构造等,这些不是我们需要关心的,所以,到此为止吧,感觉还是第一章network fundamental收获较大,而且本书有一个很不好的地方就是很多命令行都是Solaris上的,受不了。
原文地址:https://www.cnblogs.com/super119/p/2017844.html