一、NIS的基本概念
NIS是network infromation service的缩写,是对主机账号等系统信息提供集中管理的网络服务,NIS一般用于局域网,安全性不高,是开源的;NIS+安全性高,但不是开源的;都是sun公司开发的,又称Sun Yellow Page,简称YP,yellow page是黄页技术的意思,即用于查询电话号码和用户名的电话薄,供用户集中查询电话用户的信息。因为NIS具有此特性所以简称YP。
NIS服务的应用结构中分为NIS服务器和NIS客户机两种角色
NIS服务器集中维护用户的帐号信息(数据库)供NIS客户机进行查询
用户登录任何一台NIS客户机都会从NIS服务器进行登录认证,可实现用户帐号的集中管理
NIS服务器不仅为客户机提供用户账号信息,NIS数据库中还包含以下信息
用户账号信息,包括用户名、登录口令、和用户宿主目录等信息,用于取代linux主机中的passwd和shadow文件的作用
组账号信息,包括组账号等,用于取代linux主机中的group文件的作用
IP地址与主机名称对应记录的信息,用于取代linux主机中的hosts文件的作用
这些信息都保存在不同名称的数据库文件中进行集中管理
二、NIS服务器端配置管理
NIS服务器的基本设置步骤:
安装NIS服务器软件包
设置time和time-udp服务的启动状态
建立服务器中的NIS域名
设置ypserv服务的配置文件
启动NIS服务器
构建NIS数据库
NIS服务器端安装配置
1、NIS服务器的安装
RHEL4的第1张安装光盘中包括NIS服务器的安装包,ypserv默认系统没有安装;系统中的ypbind软件包是NIS客户端需要的软件包,yp-tools 软件包是提供NIS服务查询和管理的工具软件,后两个默认已安装。另外ypserv服务器和NFS服务器类似,,需要portmap服务的支持,因此在 安装ypserv之前要先确认portmap软件包是否已安装
#rpm -qa | grep ^yp
#rpm -q portmap
# rpm -ivh ypserv-2.13-5.i386.rpm
2、设置time和time-udp服务的启动状态
Time和time-udp是受xinetd超级服务管理的服务,ypserv服务的启动和运行需要这两个服务的支持。
命令:
Chkconfig –level 35 time on
Chkconfig –level 35 time-udp on如下图所示
3、建立NIS的域名
NIS客户机中建立NIS域名的操作与NIS服务器中相同
# nisdomainname nistest
# echo '/bin/nisdomainname nistest' >> /etc/rc.d/rc.local
# echo 'NISDOMAIN=nistest' >> /etc/sysconfig/network
4、设置ypserv服务的配置文件
(1)ypserv.conf文件的配置
#vi /etc/ypserv.conf
配置如下图:
(2)securenets安全配置文件
Securents文件系统中默认没有,需要手动建立。当sercurents文件不存在时,NIS服务器将允许所有主机访问NIS服务器(默认的安全设置有欠缺)
#vi /var/yp/securenets
配置如下图所示:
(2)securenets安全配置文件
Securents文件系统中默认没有,需要手动建立。当sercurents文件不存在时,NIS服务器将允许所有主机访问NIS服务器(默认的安全设置有欠缺)
#vi /var/yp/securenets
配置如下图所示:
(2)securenets安全配置文件
Securents文件系统中默认没有,需要手动建立。当sercurents文件不存在时,NIS服务器将允许所有主机访问NIS服务器(默认的安全设置有欠缺)
#vi /var/yp/securenets
配置如下图所示:
5、启动NIS服务器
#service portmap status
#service ypserv start //启动服务
#service yppasswdd start //此服务开启后客户机登录后可改密码
#chkconfig –level 35 ypserv on
#chkconfig –level 35 yppasswdd on //改变两个服务的运行级别
6、构建NIS数据库
命令:
# /usr/lib/yp/ypinit –m
NIS客户端配置管理
1、NIS客户机所需要的软件包
需要ypbind和yp-tools两个软件包
#rpm –qa |grep ^yp
系统默认已经安装
2、设置hosts文件
[root@benet02 ~]# echo '192.168.1.1 benet01'>>/etc/hosts
其中benet01是我NIS服务器的主机名
3、建立NIS的域名
#nisdomainname nistest
[root@benet02 ~]# echo '/bin/nisdomainname nistest '>>/etc/rc.d/rc.local
[root@benet02 ~]# echo 'NISDOMAIN=nistest'>>/etc/sysconfig/network
5、设置nsswitch.conf文件
sswitch.conf文件默认查询方式是对用户、组和域名都使用本地文件和DNS查询,而它相关的passwd、shadow、group、hosts不代表系统中 的文件和命令,是表示相关信息的查询,其含义如下
passwd表示用户账号信息的查询,shadow表示用户口令信息的查询,group表示用户组账号信息的查询,hosts表示主机名信息的查询。
文件中需要添加使用nis作为主机信息的查询方式,原始files后边都没有nis,添加后表示优先使用本地文件,然后使用nis服务器查询信息
passwd: files nis
shadow: files nis
group: files nis
hosts: files nis dns
如下图所示:
6、启动ypbind服务程序
[root@benet02 ~]# service ypbind start
7、使用NIS客户机测试NIS服务器
yp-tools软件包中提供了三个测试命令
yptest命令可对NIS服务器域名、主机、数据库进行自动测试,它基本的测试命令
# yptest
ypwhich命令可显示NIS客户机所使用的NIS服务器的主机名称,和-x配合使用将显示数据库文件列表
# ypwhich
# ypwhich -x
ypcat命令显示数据库文件列表和指定数据库的内容(ypcat -x和ypwhich -x的查询结果相同)
# ypcat -x
# ypcat passwd
9、NIS客户端用户登录
用户可以使用NIS服务器中的用户帐号登录任何NIS客户机
用户成功登录NIS客户机后可能无法找到宿主目录,因为本地主机中没有在/home目录中建立其宿主目录
用户口令修改
用户可登录任何一台NIS客户机进行用户口令修改
用户需要使用yppasswd命令修改NIS服务器中的用户口令,如果是root用户修改指定用户的口令,需要输入其口令
$ yppasswd
注意有时NIS客户端不能和NIS服务器正常通信,可能是iptables防火墙的原因,可以用#service iptables stop将其关闭
四、NIS的基本使用
1、在NIS服务器中将“/home”目录输出为NFS共享目录
在exports文件中设置NFS共享目录
/home 192.168.1.0/24(rw,async,no_root_squash)
启动NFS服务器
# service nfs start
2、在所有NIS客户机中挂载NIS服务器主机中的“/home”目录
在fstab文件中添加NFS文件系统挂载记录
LinServ:/home/ /home nfs defaults 0 0
使用mount命令挂载“/home”目录
# mount /home
No comments:
Post a Comment