分类: LINUX
2008-04-26 18:17:02
NIS服务器不需要太多的硬件资源,你身边任何一台机器都能胜任,你或许想将新功能放在专门的机器上,斯坦福直线加速中心(SLAC)有超过500Linux和Solaris客户端,但只有一台旧的Sun Netra T1服务器,没有发生任何问题。我们曾经做过4台大约有700Solaris和Linux桌面计算机的NIS服务器,另外有6台NIS服务器为大约2500Solaris和Linux计算机服务,我们的客户端围绕服务器不均衡地分布开。
主服务器配置
登陆到你想安装NIS的主服务器上,确保安装最新的portmap、ypserv和yp-tools RPM包,如果不是,下载再安装,下面所有的命令都必须以root身份执行,用下面的命令启动portmapper后台服务:
# service portmap start
接下来,定义你新NIS域的名字,这个名字可以是任意的,但是它应该要有一定的意义,如表现你公司的部门特征。nis.example.com是所有example.com的NIS域,eng.example.com是工程部门的域。
# domainname nis.example.com
同时,你也要添加下面这一行
NISDOMAIN=nis.example.com
到文件/etc/sysconfig/network.
创建文件/var/yp/securenets来限制对你新NIS服务器的访问,内容如下:
# netmask # network
255.255.255.0 192.168.0.0
255.255.256.0
这是一个重要的安全步骤,如果你没有这个文件全世界都可以查询你的NIS服务器。下一步是定义你要放入NIS的内容,对于认证目的,/etc/group和/etc/passwd文件以及netgroup就足够了。为了获得启发,请查找你NIS服务器上/var/yp/Makefile文件。
下面,我将展示如何配置我前面谈到的三个文件。
调整Makefile生成NIS映射数据库文件:
# cp /var/yp/Makefile /var/yp/Makefile.save
# vi /var/yp/Makefile
将下面两个条目的指从true修改为false,防止passwd和shadow文件以及group和gshadow文件的合并:
MERGE_PASSWD=false
MERGE_GROUP=false
修改NIS查询数据源目录:
YPSRCDIR = /etc/NIS
YPPWDDIR = /etc/NIS
注释掉所有NIS数据库不会建立的文件,我只保留了下面三个文件:
GROUP = $(YPPWDDIR)/group
PASSWD = $(YPPWDDIR)/passwd
NETGROUP = $(YPSRCDIR)/netgroup
注释掉所有以all:开头的行,它们包含了所有潜在NIS映射的列表。添加一个新行:
all: passwd group netgroup
注意TAB字符,在Makefile中,你必须只使用TAB字符(不能使用空格)来缩进命令。
现在,创建在Makefile中定义的数据源目录:
# mkdir /etc/NIS/
# chmod 700 /etc/NIS
然后放入一个passwd文件:
# grep -v '^root' /etc/passwd > /etc/NIS/passwd
你应该从这个文件中移除所有系统账号,包括root,只保留真实的用户账号。如果你仍然在使用/etc/passwd,现在是将其转换为Kerberos 5的时候了,我在《使用Kerberos实现统一认证(一)》中已经叙述过如何做了,如果你不这样做,当passwd文件分发到从NIS服务器或NIS客户端时,你加密的密码就会暴露在网络上。