作为一个运维工作人员,有时候我们需要对自己负责的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上测试远程登录
好了,只要能够登陆,就可以使用了。