作为一个运维工作人员,有时候我们需要对自己负责的web服务器批量修改密码,如果一台一台改,会相对来说较为麻烦,所以在这里我们可以使用NIS账户统一认证。

  我们假设有一部账号主控服务器来管理网域中所有主机的账号, 当其他的主机有用户登入的需求时,才到这部主控服务器上面要求相关的账号、密码等用户信息,如此一来,如果想要增加、修改、删除用户数据,只要到这部主控服务器上面处理即可, 这样就能够降低重复设定使用者账号的步骤了!

NIS=Network Information Service   网络信息服务

Network Information Service 最早应该称为 SunYellow Pages (简称yp),

     

配置NIS服务器实现集中化认证

       NIS是C/S模式,服务端程序软件名,ypserv;客户端程序软件名字,ypbind,客户端工具是yp-tools(yppasswd)

实验环境:

XueGod63(Server)========XueGod64(Client)

服务端和客户端软件安装

服务端:

[root@XueGod63 ~]# yum install ypserv //NIS服务主程序包

客户端:

[root@XueGod64 ~]# yum install ypbind-y     //NIS客户端,ypbind进程包

[root@XueGod64 ~]# yum install -y yp-tools   rpcbind 

     //NIS客户端工具,如yppasswd命令


服务端相关配置文件:

/etc/ypserv.conf                                //NIS服务器主配置文件,可以控制NIS客户端是否可以访问NIS服务器 (简单的说,配置了ACL)

/etc/hosts                       //IP-主机对应记录,如果没有DNS系统,则hosts需要存放每一台NIS客户端主机记录

NIS Server配置可登陆用户

       [root@XueGod63 ~]# mkdir /home/NISHOME                                  //可以不建立,直接home下生成

[root@XueGod63 ~]# useradd -d /home/NISHOME/nisuser1 nisuser1

[root@XueGod63 ~]# useradd -d /home/NISHOME/nisuser2 -s /sbin/nologinnisuser2

                                          //测试用户,这个用户用来测试是否可以使用此账号登陆其他系统

[root@XueGod63 ~]# echo nisuser1:123456 | chpasswd

[root@XueGod63 ~]# echo nisuser2:123456 | chpasswd

NIS域名配置

       [root@XueGod63 ~]#nisdomainname                                                //NIS域名查看命令(net-tools提供)

       [root@XueGod63 ~]# vim/etc/sysconfig/network                           //修改配置文件,是永久生效

NETWORKING=yes

HOSTNAME=XueGod63

GATEWAY=192.168.1.254

NTPSERVERARGS=iburst

NISDOMAIN=XueGod.cn         #NIS域名,不是NISDOMAINNAME,重启生效

       [root@XueGod63 ~]# nisdomainnameXueGod.cn //也可以使用这个命令,临时有效,类似hostname命令

       [root@XueGod63 ~]# nisdomainname

XueGod.cn

服务端Hosts文件配置

       [root@XueGod63 ~]# vim /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.63   XueGod63                #添加所有的NIS客户端,包括自己(NIS Server)

192.168.1.64   XueGod64

ypserv.conf主配置文件配置

ypserv.conf配置文件主要实现的功能是:允许那些Server可以连接NIS Server,这里允许所有内网客户端可以

连接NIS服务器,除此之外的客户端都拒绝连接

[root@XueGod63 ~]# vim /etc/ypserv.conf

# 一般来说,你可以依照我们的网域来设定成为底下的模样,也就是实验中添加的三行

#Host                                        : Domain     :Map         : Security

127.0.0.1/255.0.0..0                      :*              :*                      : none

192.168.1.0/255.255.255.0           :*              :*                      : none

*                                                  : *              :*                      : deny

建立NIS数据库

[root@XueGod63 ~]# service ypserv start 

                    //要启动ypserv服务,否则无法建立NIS数据库

Starting YP server services:                               [  OK  ]..

[root@XueGod63~]#/etc/init.d/rpcbind restart.                   [  OK  ]

[root@XueGod63 ~]# /usr/lib64/yp/ypinit-m               //创建数据库 (此命令需要使用绝对路径)

[root@XueGod63 ~]# /usr/lib64/yp/ypinit -m

输入自己的host 

启动NIS服务

       [root@XueGod63 ~]#/etc/init.d/ypserv restart     

      [root@XueGod63 ~]# /etc/init.d/yppasswddrestart                 //否则添加新的数据将无法生效

       [root@XueGod63 ~]# chkconfig ypservon

[root@XueGod63 ~]# chkconfig yppasswdd on

配置客户端加入NIS域

[root@XueGod64 ~]#yum install -y ypbind yp-tools rpcbind                //这两个工具在前面已经安装

 /etc/init.d/rpcbind start

Starting rpcbind:                                          [  OK  ]


       [root@XueGod64 ~]#system-config-authentication                //此命令需要图形界面的支持,按下图填写

​​

点击Apply之后

Starting NIS service:                                              [  OK  ]

Binding NIS service:.                                              [  OK  ]

现在可以测试是否用nisuser1登陆

       [root@XueGod63 ~]# sshnisuser1@192.168.1.64                     //在XueGod63上测试远程登录

好了,只要能够登陆,就可以使用了。