LINUX-NIS

来源:互联网 发布:前端后端数据库 编辑:程序博客网 时间:2024/05/16 06:00

LINUX NIS配置步驟:

 

 

前言:

 

linux nis最大用途在於提供客戶端的使用者相關數據查詢,常用於同步主從服務器端賬號信息同步。LINUX NIS 工作流程

圖見(附件1)。在配置NIS服務之前,需先建立主機之間的信任關係,/etc/hosts,/etc/hosts.equiv中需先加入master,slave,client的主機信息. RPC的調用過程需要portmap服務的開啟,在nis配置之前將需該服務開啟。

 

1.1 NIS的主要配置文件

/etc/ypserv.conf          #設置對NIS服務器的訪問控制(一般無需配置)

/etc/yp.conf                #ypbind的主要配置文件,裡面主要規範NIS SERVER

/etc/nsswitch.conf       #設置驗證的先後順序(規範賬號密碼和相關信息的查詢順序,默認的是先

                                   /etc/passwd,然後才是NIS)

/var/yp/Makefile           #設置那些文件要通過NIS共享

/var/yp/nicknames        #設置shadow文件要通過NIS共享(在需要NIS賬號Audit時才會配置)

/etc/sysconfig/authconfig   #規範賬號登陸時的允許認證機制

/etc/pam.d/system-auth      # 賬號通常由PAM模塊管理,所以需在PAM模塊內加入NIS支持才行

/etc/hosts                     #需要有各個NIS服務器的IP與主機名對應

 

 

 

***************************************************************************************** 

1.2 配置master nis

1.2.1 配置Nisdomainname
#nisdomainname testnis             #testnis 是nis 的域名
為了把testnis 設置成永久的域名在/etc/sysconfig/network 中加入﹕
NISDOMAIN=testnis

 

1.2.2  配置/etc/yp.conf

#vi /etc/yp.conf 在文件底部加入﹕
domain testnis server hosta          #指定testnis 中的server 為 hosta
domain testnis server hostb          # hostb 為從slave nis server
ypserver hosta                           #指定要綁定的nis server 為 hosta ,NIS server 既是服務器又是客戶機

 


1.2.3  配置 /etc/nsswitch.conf
passwd files nis           #先用操作系統驗証﹐如果沒有條目再nis驗証。
shadow files nis

group    files nis


1.2.4 配置 /var/yp/Makefile
NOPUSH=false    #我們要配置從nis(slave server不需要配置nopush選項)
MERGE_PASSWD=false #把passwd與shadow 分離(在需要NIS帳號Audit時才會配製)
all: passwd group hosts rpc services netid protocols mail shadow/ #生成shadow傳送文件
(在需要NIS帳號Audit時才會配製)


1.2.5.配置 /var/yp/nicknames
增加  shadow shadow.byname                  #在需要NIS帳號Audit時才會配製


1.2.6  啟動NIS SERVER

 

#service ypserv start

 

1.2.6 制作NIS 數據庫
#/usr/lib/yp/ypinit -m                    #

 

1.2.7 啟動NIS CLIENT

#service ypbind start

#ypwhich                    #查看綁定的是哪一臺nis服務器

 

1.2.8 啟動主從NIS服務器數據傳遞

#service ypxfrd start

 

1.2.9 啟動yppasswd

#service yppasswdd start 

 

1.3 配置slave nis

 

1.3.1 /etc/sysconfig/network,/etc/yp.conf,/etc/nsswitch.conf,/var/yp/Makefile,/var/yp/nicknames等配置文件

         修改同master nis

 

1.3.2  啟動NIS SERVER
# service ypserv start

 


1.3.3  啟動NIS CLIENT
#service ypbind start

 

 

1.3.4 在主從兩端都啟動ypxfrd
# service ypxfrd start

 


1.3.5  當主nis服務器端執行完以下指令后(對應腳本見附件yppush.sh,該腳本寫在master    server 的crontab中)
# /usr/lib/yp/ypinit –m        #把從服務器加入服務器列表中,并制作數據庫文件

slave nis服務器端上執行

#/usr/lib/#取得來自master  usr/lib/yp/ypinit -s mastersvername       主機的數據庫檔案()


1.3.6 修改/etc/passwd 在最后加入﹕
+﹕﹕﹕﹕﹕﹕ #記得6個冒號(僅slave server 和client需要)

1.3.7  啟動 YPASSWDD
#service yppasswdd start

 

 

1.4  配置NIS CLIENT 

 

1.4.1  /etc/sysconfig/network,/etc/yp.conf,/etc/nsswitch.conf,/var/yp/nicknames修改同master nis

 

1.4.2修改/etc/sysconfig/authconfig和/etc/pam.d/system-auth配置

# vi /etc/sysconfig/authconfig
USENIS=no
#只要将上面 NIS 部分改成 yes 即可:
USENIS=yes

# vi /etc/pam.d/system-auth
# 这个部分也很重要!修改 PAM 的配置文件找到如下一行:
password    sufficient    /lib/security/$ISA/pam_unix.so nullok
use_authtok md5 shadow
# 将它改成:
password    sufficient    /lib/security/$ISA/pam_unix.so nullok
use_authtok md5 shadow nis

 

1.4.3  修改/etc/passwd   在最後加入

+::::::    (六個:)

 

1.4.4 啟動nis客戶端

# service ypbind start

 

1.4.5 啟動yppasswdd

# service yppasswdd start

 

****************************************************************************************

 

2.1   NIS Master與Slave之間的同步
a. 先以 useradd username 或 passwd username 等製作出 master 上面的實體用戶;
b. 再以 make 或者直接以 /usr/lib/yp/ypinit -m 來製作出最新的資料庫;
c. 利用 yppush 這個指令功能來進行資料庫的傳輸
    # /usr/sbin/yppush –h salve_name file_name

d. 在slave端執行以下指令來獲取主機同步信息
    #/usr/lib/yp/ypinit -s master_server
e. 同時將yppush這個指令寫在crontab 中,每几分鐘執行一次。

f.  測試nis是否成功,先在master_server上增加一個新帳戶,然後執行/usr/lib/yp/ypinit -m 和yppush.sh腳本,然後在slave server上執行#/usr/lib/yp/ypinit -s master_server后執行 ypcat passwd |grep 新增賬號,若有相應信息,則表示配置成功。

g.  成功配置執行#rpcinfo -u localhost ypserv 會出現以下提示:

    (rpcinfo makes an RPC call to an RPC server and reports what it's finds)

   

    要出现上述的画面才表示正确的启动了 ypserv

 

 

    注意,主要的 NIS 服务是 ypserv ,如果要提供 NIS 客户端的密码修改功能的话, 最好还得要启动 yppasswdd 这个服务。在启动完毕后,我们可以利用 rpcinfo 来检查看看:
# rpcinfo -p localhost
program vers proto   port
   100000    2   tcp    111 portmapper
   100000    2   udp    111 portmapper
   100004    2   udp    942 ypserv
   100004    1   udp    942 ypserv
   100004    2   tcp    945 ypserv
   100004    1   tcp    945 ypserv
   100009    1   udp    950 yppasswdd

h. ypcat  :prints values of all keys from the NIS database specified by mapname,which may be a map name or a map nickname.

    ypcat [-kt] [-d domain] [-h hostname] mapname

    ypcat -x 

    #ypcat -h localhost passwd

j.  ypwhich: 單純使用ypwhich的時候,顯示的是“NIS Client的Domain”,而當加入-x參數時,則

    顯示“NIS Client與Server之間溝通的數據庫有那些?”

    #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 "shadow"    for map "shadow.byname"
    Use "group"       for map "group.byname"
    Use "passwd"    for map "passwd.byname"


     

 

 **************************************************************

2.2 配置過程中發生以下一些問題,詳情請見相關截圖

 

問題1:/etc/hosts下回環地址127.0.0.1  localhost.localdomain localhost沒有,在製作相關文件數據庫時,會有以下

          情形提示,詳情請見nis_err2.

 

問題2 :/var/yp/Makefile 下all:  passwd group hosts rpc services netid protocols mail /該行沒有加上shadow會

         有以下提示,詳情請見nis_err4.

 

問題3:在master nis上執行/usr/lib/yp/ypinit -m后沒有在slave nis上執行/usr/lib/yp/ypinit -m會有以下提示,詳情請

         艱附件nis_err1.

 

 

*******************************************************************************************

1.製作數據庫,可以執行以下腳本(yppush.sh)內容請見附件yppush,須將該執行腳本寫在master nis的crontab下(正式腳本中,將mipbg02更換為正式主機slave_server即可)

 

 

2.製作運行yp相關服務的腳本ypservice.sh

    #service ypserv start

    #service ypbind start

    #service ypxfrd start

    #service yppasswdd start

 

3.LINXU NIS工作流程

*********************************************************************

 

注:想让使用者在任一部 NIS 管辖的主机登入都可以使用同一份家目录,则需开启 NFS 提供 /home 给所有的主机挂载使用;

 

 

 

 

原创粉丝点击