|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 554|回復: 0
打印 上一主題 下一主題

linux Nis配置

[複製鏈接]

989

主題

1

好友

5267

積分

教授

Rank: 8Rank: 8

  • TA的每日心情
    擦汗
    4 天前
  • 簽到天數: 1235 天

    [LV.10]以壇為家III

    推廣值
    2
    貢獻值
    378
    金錢
    1726
    威望
    5267
    主題
    989

    回文勇士 文明人 中學生 高中生 簽到勳章 簽到達人 男生勳章 大學生 文章勇士 附件高人 附件達人 文章達人 教授

    樓主
    發表於 2012-9-22 21:35:29
    NIS:network information server:主机账号等系统信息提供集中管理的网络服务,在linux系统中对所有能运行NIS的客户端进行用户名、密码、访问权限进行统一管理,工作 方式和作用类似于windows server中的AD,适用于网络中存在大量的linux应用server,或存在大量的linux客户机。

    使用NIS必须结合NFS使用

    NIS提供的数据包括:




    NIS将上述表格信息做成数据库文件,方便客户端主机快速查询。

    由于NIS是为网络中其他主机提供用户登录等信息,网络中其他主机需要请求NIS服务器获取用户信息,所以NIS比较重要,通常采取 master/slave模式,master、slave可以同时响应客户端的登录请求,实现负载均衡。也可避免master宕机引起网络客户端无法登录 的情况。

    NIS运作流程:

    1. NIS master将本身的账号密码等相关文件制作成数据库文件

    2. NIS master主动告诉NIS slave server来更新数据库文件

    3. 若有账号变动,需要重新制作数据库文件并重新同步NIS slave server

    NIS client有查询请求时:

    1. NIS client有登录需求时,首先查询本地的/etc/passwd、/etc/shadow

    2. 若在本机找不到相关账号信息,会向整个NIS网段主机广播查询请求

    3. 每个NIS服务器都可以响应该请求,先响应者先优先答复请求

    NIS client或NIS slave会主动拿掉本机的一般账号,仅保留系统所需的root及系统账号,便于一般用户被NIS server管理。

    NIS服务所需软件

    Yp-tools:提供NIS相关查询命令、Ypbind:提供NIS客户端设置软件、Ypserv:提供NIS server设置软件、Portmap:提供RPC查询功能

    NIS master server设置

    设置域名:

    #nisdomainname test

    # echo /bin/nisdomainname test>>/etc/rc.d/rc.local

    # echo NISDOMAINNAME=test>>/etc/sysconfig/network

    NIS固定端口配置

    NIS和NFS服务相似,使用随机端口,可以配置固定端口加强NIS可管理性。

    添加YPSERV_ARGS和YPXFRD_ARGS字段,设置NIS的ypserv和ypxfrd进程使用固定端口号,使用参数-p指定固定端口。

    # echo YPSERV_ARGS=\"\-p 800\">>/etc/sysconfig/network

    # echo YPXFRD_ARGS=\"\-p 810\">>/etc/sysconfig/network

    重启network、ypserv、ypxfrd服务,使用rpcinfo –p查看端口信息

    #rpcinfo –p

    …………………………………………

    100004 2 udp 800 ypserv

    100004 1 udp 800 ypserv

    100004 2 tcp 800 ypserv

    100004 1 tcp 800 ypserv

    600100069 1 udp 810 fypxfrd

    600100069 1 tcp 810 fypxfrd

    设置/etc/hosts

    实现NIS服务器和客户端的主机名和IP的对应

    #echo 192.168.23.128 master.test>>/etc/hosts

    #echo 192.168.23.129 slave.test>>/etc/hosts

    #echo 192.168.23.131 client.test>>/etc/hosts

    设置ypserv.conf配置文件

    # cat /etc/ypserv.conf

    dns: no #是否启用DNS系统,如果环境较小,设置好/etc/hosts即可

    files: 30 #设置数据库被读入内存的数量,依据网络环境大小决定

    slp: no #设置是否启动SLP服务,如果仅需要NIS,无需启动SLP

    slp_timeout: 3600

    # xfr requests are only allowed from ports < 1024

    xfr_check_port: yes #同步数据库启用的端口,默认使用小于1024端口

    # Host : Domain : Map : Security

    # * : * : passwd.byname : port

    # * : * : passwd.byuid : port

    127.0.0.1/255.255.255.0:*:*:none

    192.168.23.0/255.255.255.0:*:*:none #192.168.23.0/255.255.255.0即本机IP网段

    *:*:*:deny

    配置文件中最重要的就是限制客户端或从服务器的查询权限。

    格式为: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是逐行解释执行,所以要注意设置顺序

    创建/etc/netgroup 建立NIS服务器所信任的客户端

    默认情况不存在该文件,需手动创建,如文件为空,表示全部主机、账号域名都可以接受。

    #touch /etc/netgroup

    启动NIS master server相关服务,并设置开机启动

    # /etc/init.d/portmap start

    # /etc/init.d/ypserv start

    # /etc/init.d/yppasswdd start

    # chkconfig --level 35 ypserv on

    # chkconfig --level 35 yppasswdd on

    创建数据库

    # /usr/lib/yp/ypinit –m

    查看相关数据库文件是否创建:#ls /var/yp/test

    重启ypserv和yppasswdd服务

    #/etc/init.d/ypserv restart

    #/etc/init.d/yppasswdd restart

    如果仅修改了某用户的密码,无需重启服务,进入所在目录,make即可

    # cd /var/yp

    # ls

    binding Makefile nicknames test ypservers

    # make passwd

    Updating passwd.byname...

    Updating passwd.byuid...

    更新后的文件放置在yp目录中,需要手动移到目录test中

    # mv passwd.byname passwd.byuid ./test

    如果有salve服务器,需要和salve进行数据同步

    #vi /var/yp/Makefile将NOPUSH=true改成NOPUSH=false

    # vi /var/yp/ypservers

    master.test

    slave.test

    启动ypxfrd让NIS salve主动连上NIS master更新数据库

    [root@localhost yp]# /etc/init.d/ypxfrd start

    NIS salve server设置

    设置域名,并设置开机启动

    # nisdomainname test

    # echo /bin/nisdomainname test>>/etc/rc.d/rc.local

    # echo NISDOMAINNAME=test>>/etc/sysconfig/network

    设置配置文件/etc/ypserv.conf和/etc/hosts、/etc/netgroup保持与NIS master server一致即可

    开启portmap和ypserv服务并设置其开机启动

    # /etc/init.d/portmap start

    # /etc/init.d/ypserv start

    # chkconfig --level 35 portmap on

    # chkconfig --level 35 ypserv on

    确保NIS salve所需的软件包已经安装

    # rpm -q ypbind

    # rpm -q yp-tools

    # rpm -q portmap

    # rpm -q ypserv

    NIS固定端口配置、设置/etc/hosts与master主机一致即可

    重启network、ypserv、ypxfrd服务,并rpcinfo –p查看端口信息

    从NIS master服务器上获取数据库文件

    # /usr/lib/yp/ypinit -s 192.168.23.128

    使用ls –l /usr/yp/test查看数据库文件是否已经建立。

    同步主从NIS服务器的数据库文件

    #crontab –e

    */1 * * * * /usr/lib/yp/ypxfr -h test passwd.byname

    */1 * * * * /usr/lib/yp/ypxfr -h test passwd.byuid

    可以依据具体实际情况设置。

    客户端设置

    设置nis域名、/etc/hosts配置文件

    # vi /etc/nsswitch.conf

    passwd: files nis

    shadow: files nis

    group: files nis

    hosts: files nis dns

    # vi /etc/sysconfig/authconfig

    USENIS=yes

    # cat /etc/yp.conf添加如下信息

    domain test server Master.test

    ypserver Slave.test

    domain NIS域名 主机名称 或 domain NIS域名 broadcast

    Setup打开配置模式,选择验证配置,使用NIS,使用md5口令和屏蔽口令,设置域名和主服务器。

    Yptest验证配置结果。看到yp_all和账户信息就算配置成功。

    使用ypwhich –x和ypwhich查看数据库数量

    # ypwhich #显示NIS主机名

    Master.test

    # ypwhich –x #显示数据库数量

    Use "ethers" for map "ethers.byname"

    Use "aliases" for map "mail.aliases"

    Use "services" for map "services.byname"

    Use "protocols" for map "protocols.bynumber"

    Use "hosts" for map "hosts.byname"

    Use "networks" for map "networks.byaddr"

    Use "group" for map "group.byname"

    Use "passwd" for map "passwd.byname"

    使用ypcat查看数据库内容

    # ypcat hosts

    192.168.23.128 Master.test

    127.0.0.1 localhost.localdomain localhost

    127.0.0.1 localhost.localdomain localhost

    192.168.23.129 Slave.test

    192.168.23.131 Client.test

    # ypcat passwd

    test:$1$5.4y6WdS$f8.fskhB.zguKoX48I2CI0:500:500::/home/test:/bin/bash

    small:$1$WZpOJRXl$.uwbqzprJIwci0qaPO59v.:501:501::/home/small:/bin/bash

    Ypmatch查看指定账户信息

    # ypmatch test passwd

    test:$1$5.4y6WdS$f8.fskhB.zguKoX48I2CI0:500:500::/home/test:/bin/bash

    yppasswd修改用户密码

    # yppasswd test

    Changing NIS account information for test on Master.test.

    Please enter root password:

    Changing NIS password for test on Master.test.

    Please enter new password:

    Please retype new password:

    The NIS password has been changed on Master.test.
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-6-18 19:55 , Processed in 0.029183 second(s), 27 queries , Gzip On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部