NIS服务器与客户端详细配置
NIS 服务器与客户端的配置文件含义:NIS 所需软件包ypserv-2.19-3.i386.rpm :NIS 服务的主程序包yp-tools-2.9-0.1.i386.rpm :提供NIS 客户端设
NIS 服务器与客户端的配置
文件含义:

NIS 所需软件包
ypserv-2.19-3.i386.rpm :NIS 服务的主程序包
yp-tools-2.9-0.1.i386.rpm :提供NIS 客户端设定功能的软件包
ypbind-1.19-8.el5.i386.rpm :提供NIS 客户端的查询指令功能的软件包
portmap-4.0-65.2.2.1.i386.rpm :管理RPC 连接、启动RPC 必需的软件包
NIS 相关文档
/etc/ypserv.conf:NIS 主配置文件,可以规范NIS 客户端是否具有可以查询NIS 服务器的权限
/etc/hosts:记录主机和IP 地址对应关系,如果没有DNS 系统,则NIS 服务器的hosts 文件需要每一台NIS 客户端的主机记录。
/etc/netgroup:设置信任的主机或网段
/etc/yp/Makefile:与建立数据库有关的配置文件 /etc/sysconfig/network:可以在这个档案内指定 NIS 的网域 (nisdomainname)。
/var/yp/Makefile:前面不是说账号数据要转成数据库档吗? 这就是与建立数据库有关的动作配置文件;
,/etc/ypserv.conf:这是最主要的 ypserv 软件所提供的配置文件, 可以规范 NIS 客户端是否可登入的权限。
/etc/hosts:由于 NIS server/client 会用到网络主机名与 IP 的对应, 因此这个主机名对应档就显的相当重要! 每一部主机名与 IP 都需要记录才行!
NIS 服务器提供的主要服务方面有底下两个:
/usr/sbin/ypserv:就是 NIS 服务器的主要提供服务;
/usr/sbin/rpc.yppasswdd:提供额外的 NIS 客户端之用户密码修改服务, 透过这个服务, NIS 客户端可以直接修改在 NIS 服务器上的密码。相关的使用程序则是 yppasswd 指令;
与账号密码的数据库有关的指令方面有底下几个:
/usr/lib64/yp/ypinit:建立数据库的指令, 非常常用 (在 32 位的系统下, 档名则是
/usr/lib/yp/ypinit 喔!);
/usr/bin/yppasswd:与 NIS 客户端有关, 主要在让用户修改服务器上的密码。
解决方案
1、安装NIS 所需软件包
用rpm –qa | grep yp 检查已经安装了的带有yp 字符的软件。 同理,用rpm –qa | grep portmap 。
用rpm –ivh /mnt/cdrom/Server/ypserv-2.19-3.i386.rpm 来安装。或是用系统的安装功能。
2、创建teamadmin 用户
3、设置NIS 域名

vim /etc/sysconfig/network
,
你也可以使用手動的方式暫時設定好你的

NIS

領域名稱,透過的方法就是 nisdomainname 這個指令。(另外,由於未來想使用 iptables 直接管理 NIS 的使用,因此我們想要控制 NIS 啟動在固定的埠口上。此時, 就使用『YPSERV_ARGS="-p 1011"』這個設定值來固定埠口在 1011 吧!备选)
vim /etc/rc.d/rc.local
加上/bin/nisdomainname dmz
4、设置/etc/hosts配置文件
vim /etc/hosts
此处添加的IP 地址与域名为客户端主机的信息。
如果你的主機名稱 (hostname) 與 NIS 的主機名稱不一樣,那麼在這個檔案當中還是需要將你的主機名稱給他設定進來! 否則在後面資料庫的設定時,肯定會發生問題。當然啦,你也可以直接在 /etc/sysconfig/network 當中直接重新設定主機名稱,然後重新開機,或者是利用 hostname 這個指令重新設定你的主機名稱也可以。
,5、设置/etc/ypserv.conf主配置文件
vim /etc/ypserv.conf
在整个ypserv.conf 主配置文件中,最为重要的就是限制客户端或从服务器的查询权限。 格式为:
Host : Domain : Map : Security
Host :指定客户端,可以指定具体IP 地址,也可以指定一个网段
Domain :设置NIS 域名,这里的NIS 域名和DNS 中的域名并没有关系哈~两者是两套不同系统哈~在同一个NIS 域中,客户端可以从NIS 服务器上查询用户名和密码,从NIS 服务器可以与主服务器同步数据库内容
Map :设置可用数据库名称,可以用“*”代替所有数据库
Security :安全性设置。主要有none 、port 和deny 三种参数设置。
none :没有任何安全限制,可以连接NIS 服务器。
port :只允许小于1024以下的端口连接NIS 服务器。
deny :拒绝连接NIS 服务器。
通常设置思路是允许所有内网客户端连接NIS 服务器,除此之外的客户端都拒绝连接哈~ ypserv.conf 文件是逐行解释执行,所以要注意设置顺序
(由于此例中的192.168.8.0/255.255.255.0 为作用域)
127.0.0.1/255.0.0.0:*:*:none
192.168.8.0/255.255.255.0:*:*:none
*:*:*:deny
或是将上面三行都加上#变为解释说明
使用*:*:*:none 没有比较严格的设置方式。
6、建立NIS 数据库
首先我们要启动ypserv 服务,否则建立NIS 数据库会报错 [root@www ~]# vim /etc/sysconfig/yppasswdd
YPPA SSWDD_ARGS="--port 1012" <==找到這個設定值,修改一下內容成這樣!
[root@www ~]# /etc/init.d/ypserv start
[root@www ~]# /etc/init.d/yppasswdd start
[root@www ~]# chkconfig ypserv on
[root@www ~]# chkconfig yppasswdd on
另一种启动方式
#service ypserv start
#rpcinfo –p localhost (用来观察端口是否正确)
#rpcinfo –u localhost ypserv(观察服务是否已经ready )
,#/usr/lib/yp/ypinit –m
中间某步需要按下 【ctrl 】 d
在此过程中系统会building /var/yp/dmz/ypservers…
如果执行过程种有如下错误

当NIS 数据库被建立之后,需要通知ypserv 和yppasswdd 这两个服务,以告知NIS

数据库被更新过了哈~ 通常通知的方法就是重启这两个服务

/etc/init.d/ypserv restart
/etc/init.d/yppasswdd restart
注意:每次更改数据库内容后(比如更新用户密码)就需要使用ypinit -m命令重新创建数据库并重启ypserv 和yppasswdd 这两个服务,否则添加新数据将无法生效哈~
7、建立信任群
可以使用/etc/netgroup文件来建立NIS 服务器所信任的客户端
格式:host,user,domain
如果这个文件没有内容,则代表所有的主机、帐号和域名都接受哈~因为已经在
/etc/ypserv.conf中设置好了关于安全的项目,默认此文件不存在,所以这个文件只要建立就可以了。
touch /etc/netgroup
,8、重启相关服务使配置生效 service portmap restart service ypserv restart

service yppasswdd restart
chkconfig --level 35 portmap on
chkconfig --level 35 ypserv on
chkconfig --level 35 yppasswdd on
客户端的设置
在設定 NIS client 你可能需要動到底下的檔案:
/etc/sysconfig/network:就是 NIS 的領域名稱嘛!
/etc/hosts:至少需要有各個 NIS 伺服器的 IP 與主機名對應;
/etc/yp.conf:這個則是 ypbind 的主要設定檔,裡面主要設定 NIS 伺服器所在
/etc/sysconfig/authconfig:規範帳號登入時的允許認證機制;
/etc/pam.d/system-auth :這個最容易忘記!因為帳號通常由 PAM 模組所管理, 所以你必須要在 PAM 模組內加入 NIS 的支援才行!
/etc/nsswitch.conf :這個檔案可以規範帳號密碼與相關資訊的查詢順序,預設是先找 /etc/passwd 再找 NIS 資料庫;
另外, NIS 還提供了幾個有趣的程式給 NIS 用戶端來進行帳號相關參數的修改,例如密碼、shell 等等, 主要有底下這幾個指令:
/usr/bin/yppasswd :更改你在 NIS database (NIS Server 所製作的資料庫) 的密碼
/usr/bin/ypchsh :同上,但是是更改 shell
,/usr/bin/ypchfn :同上,但是是更改一些使用者的訊息! (1)加入NIS 域 确保客户端和服务器的NIS 域名相同,可以使用nisdomainname

命令设置,然后设置开机自

动配置

NIS 域名
nisdomainname dmznis
vim /etc/sysconfig/network
vim /etc/rc.d/rc.local
(2)修改/etc/hosts文件
如果没有DNS 服务器,那我们必须确保/etc/hosts文件中有NIS 服务器的记录
vim /etc/hosts
,(3)修改密码验证方式 NIS 客户端在查找用户名和密码时先从本地开始查找,比如先查询/etc/passwd

和

/etc/shadow文件等,如果没有查询到用户名和密码则发送广播到NIS 服务器从而进行查询。
默认情况下客户端如果没有查询到用户名和密码是不会发送广播到NIS 服务器的,所以我们需要修改/etc/nsswitch.conf文件哈~
vim /etc/nsswitch.conf
四个字段中添加NIS 服务器的主机名,修改效果如下哈~
,(4)修改/etc/yp.conf文件
在客户端/etc/yp.conf文件中设置NIS 服务器的主机名和NIS 域名 vim /etc/yp.conf
,如果需要使用广播查询则可以直接添加domain dmz broadcast (5)重新启动ypbind 服务


service ypbind restart


注意,一定要开启111端口,可以使用rpcinfo 命令查看rpc 所使用的端口 rpcinfo -p
(6)设置开机启动ypbind 服务
chkconfig --level 35 ypbind on