• Linux--NIS


    一、 环境准备

    操作系统:CentOS7.6

    服务端安装如下软件:

    软件名称

    功能

    ypserv

    NIS Server端的服务进程

    rpcbind

    提供RPC服务

    客户端安装如下软件:

    软件名称

    功能

    yp-tools

    提供NIS相关的查询指令功能(yp-tools和ypbind必须同时安装)

    ypbind

    NIS Client端的服务进程(yp-tools和ypbind必须同时安装)

    Yptools和ypbind互相依赖,需要如下方式安装 

    [root@node2]# rpm -ivh yp-tools-2.14-3.el7.x86_64.rpmypbind-1.37.1-7.el7.x86_64.rpm

    网络拓扑:

    Hostname IP地址 角色 软件
    head1 192.168.1.224 NIS Master Server ypserv rpcbind yp-tools ypbind
    node1 192.168.1.52 NIS Client yp-tools ypbind

    二、搭建

    2.1   Masterserver 端配置

    2.1.1  设置NIS域名

    设置 NIS 的域名,新增如下内容:

    临时设置:

    [root@server ~]# nisdomainname
    abc

    永久设置:

    [root@server ~]# cat /etc/sysconfig/network
    # Created by anaconda
    #设定nis的域名
    NISDOMAIN=abc
    #设定nis固定在1011端口,方便设定防火墙规则
    YPSERV_ARGS="-P 1011"

    2.1.2  设置hosts

    设定IP地址与主机名的对应关系/etc/hosts,新增如下内容 

    [root@server ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    192.168.1.224   server
    192.168.1.52   client

    2.1.3  设置主要配置文件/etc/ypserv.conf

    设定server端的主配置文件/etc/ypserv.conf

    2.1.4  设置防火墙

    让yppasswdd启动在固定端口,方便防火墙管理
    [root@server ~]# vim /etc/sysconfig/yppasswdd 

    2.1.5  启动

    启动如下命令: 

    #systemctl start ypserv
    #systemctl start rpcbind
    #systemctl statrt yppasswdd.service

    2.1.6  建立NIS账户和资料库

    2. 建立资料库

    ypinit命令初始化主服务器和常见NIS映射表。默认的ypinit同make命令给出的操作一样。

    按照提示 ctrl+D,确认即可完成资料库建立。 

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

     

    2.1.7  更新NIS账户和资料库

    在 server 端新增账号或者删除账号或者修改账号信息后,就得要重新制作数据库,make -C /var/yp

    [root@server ~]# make -C /var/yp  或 #cd /var/yp  #make

    把信息写进资料库,让后 client 端才可以读取到最新信息

    2.1.8  与Slave相关的设定

    当执行了 ypinit -m 之后,所有的主机上面的账号相关档案会被转成数据库档案, 这些数据库会被放置到 /var/yp/"nisdomainname" 当中, 

    [root@server ~]# ll /var/yp//abc/ 或 #ls /var/yp/abc/

    1. 若变更了使用者帐号密码参数,针对这个档案进行数据库更新:

    [root@server ~]# cd /var/yp/
    [root@server yp]# make passwd  或 #make -C /var/yp passwd

    2. 开启Slave服务推送

    将 /var/yp/Makefile中的NOPUSH定义修改为false  

    3. 指定Slave服务主机,告诉master要把数据给谁->server.abcnis

    4. 启动 ypxfrd服务

    可以让 slave 服务器主动链接上 ypxfrd 来更新数据库, 可以免除系统管理原自己手动更新。

    [root@server yp]# systemctl start ypxfrd

    设置为自动启动

    [root@node0 ~]# systemctl enable ypxfrd

    此外,如果 master 机器想要直接将某些特定的数据库直接传给 slave 主机的话, 那么可以使用 yppush 这个指令。

    例如:#yppush -h slave.abcnis  passwd.*

     ==============================================================================================

    2.2   Client端配置

    安装软件:

    [root@client ~]# rpm -ivh yp-tools-2.14-3.el7.x86_64.rpmypbind-1.37.1-7.el7.x86_64.rpm

    /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 数据库;

    2.2.1 设置NIS域名

    设置 NIS 的域名,新增如下内容:

    临时设置:

    [root@client ~]# nisdomainname hikuss

    永久设置:

    [root@client ~]# cat /etc/sysconfig/network

    2.2.2  设置hosts

    设定IP地址与主机名的对应关系/etc/hosts,新增如下内容

    2.2.3  设施ypbind连接server

    2.2.3.1     账户信息的读取顺序

    配置账户信息的读取顺序

    [root@client ~]# vim /etc/nsswitch.conf

    2.2.3.2     配置/etc/yp.conf

    [root@client ~]# vim /etc/yp.conf

    配置/etc/yp.conf,最后添加如下代码:

    2.2.3.3     设置账号登入认证机制

    登入时的允许认证机制 

    [root@client ~]# vim /etc/sysconfig/authconfig 

    2.2.3.4     设置PAM授权

    修改文件/etc/pam.d/system-auth,增加nis

    [root@client ~]# vim /etc/pam.d/system-auth

    2.2.5  启动及开机启动

    启动如下命令:

    [root@client ~]# systemctl start rpcbind
    [root@client ~]# systemctl start ypbind

    2.3  Client测试

    2.3.1  yptest

    yptest用来测试 server 端和 client 端能否正常通讯

    #如果配置成功,会返回成功的结果

    #如果返回fail,则根据提示进行排查

     

    从这个测试当中可能发现一些错误,就是在 Test 3 出现的那个警告信息啦。只是说没有该数据库而已~ 该错误是可以忽略的。

    2.3.2  ypwhich

    ypwhich用来查看资料库映射数据

    1. 查看NIS domain

    ===================================================================================================

    2. 查看数据库映射 

    2.3.3  ypcat

    利用ypcat读取数据库内容 

     1. 查看数据库映射 

    2. 查看数据库映射ypcat -k <map> 

  • 相关阅读:
    ognl的应用1
    未命名
    flash钟表的实现
    文本显示输入字数
    HttpServlet session的用法: (2)
    $.fx与$.fn.fx 区别
    javascript 事件冒泡 和 冒泡事件阻止
    (function($){...})(jQuery) 含义
    选择城市插件 jQuery
    offset().left 用法
  • 原文地址:https://www.cnblogs.com/zhangbingsheng/p/10778535.html
Copyright © 2020-2023  润新知