歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> CentOS 6.2中搭建NIS服務

CentOS 6.2中搭建NIS服務

日期:2017/3/3 16:25:42   编辑:關於Linux

NIS 服務器概述

NIS 服務器通過為基於 Windows 的 Active Directory 域服務 (AD DS) 域控制器提供充當一個或多個 NIS 域的主 NIS 服務器的能力,將網絡 Microsoft Windows 和網絡信息服務 (NIS) 網絡集成在一起。

NIS 服務器的工作原理

NIS 服務器將標准和非標准的 NIS 映射數據均存儲在 AD DS 中。(標准映射由 aliases、bootparams、ethers、hosts、group、netgroup、netid、netmasks、networks、passwd、protocols、rpc、services、pservers 和 shadow 組成;所有其他映射都是非標准映射。)因此,NIS 服務器為 Windows 域和 NIS 域創建一個命名空間,可以由 Windows 管理員使用一組工具進行管理。管理員可以很容易同時為 Windows 域和 UNIX 域創建、修改和刪除用戶帳戶。在 Windows 環境和 UNIX 環境中均擁有帳戶的用戶可以通過包含各自的域和命名空間所需的所有屬性的 AD DS 進行管理。

NIS 服務器還可以安裝在與主 NIS 服務器位於同一個域中的其他域控制器上,使這些域控制器可以充當 NIS 從屬服務器(也稱為次服務器)。在這種情況下,Active Directory 中的 NIS 數據在運行“NIS 服務器”的 Windows 域控制器之間自動復制。此外,基於 UNIX 的計算機可以繼續充當 NIS 域中的從屬服務器;NIS 服務器使用 yppush 將對 NIS 數據的更改傳播到基於 UNIX 的 NIS 服務器,就像基於 UNIX 的主 NIS 服務器一樣。

NIS 服務器的安裝過程

安裝了“NIS 服務器”之後,將基於 UNIX 的 NIS 服務器中的 NIS 映射遷移到運行“NIS 服務器”的計算機。可以使用隨“NIS 服務器”提供的基於 Windows 的遷移向導,也可以使用命令行實用程序來完成遷移。遷移了 NIS 域的映射之後,NIS 服務器即可部署為 NIS 域的主服務器。可以將多個 NIS 域遷移到同一個基於 Windows 的 AD DS 域控制器。這些域可以互相合並,也可以獨立存在。可以通過一次遷移一個 NIS 映射,分階段遷移 NIS 映射數據。

NIS 服務器可以同時支持多個 NIS 域。屬於多個域的映射也可以同時駐留在 Active Directory 中。來自客戶端或域中其他服務器的請求從同一個域中的映射接收數據。

NIS 服務器的管理

可以使用基於 Windows 的 UNIX 標識管理來管理 NIS 服務器。可以使用基於 Windows 的工具(例如“Active Directory 用戶和計算機”)管理已遷移到 AD DS 的 passwd、group 和 hosts 映射。還可以使用命令行工具 nismap 和 nisadmin 管理所有標准和非標准的映射以及管理 NIS 服務器。可以使用 Windows 管理工具監視 NIS 服務器,包括使用事件查看器審核 NIS 服務器記錄的重大事件和錯誤。

除了使用 Windows 提供的管理工具之外,還可以使用 Active Directory 服務接口 (ADSI) 或輕型目錄訪問協議 (LDAP) 創建其他管理工具。

NIS 服務器為處理來自基於 UNIX 的 NIS 客戶端和基於 Windows 的 NIS 客戶端以及其他從屬 NIS 服務器的請求實現所需的 NIS 遠程過程調用。NIS 服務器支持廣播模式和正常綁定模式。

NIS 所需軟件包

ypserv-2.19-22.el6.i686.rpm:NIS 服務的主程序包

yp-tools-2.9-12.el6.i686.rpm :提供 NIS 客戶端設定功能的軟件包

ypbind-1.20.4-29.el6.i686.rpm:提供 NIS 客戶端的查詢指令功能的軟件包

rpcbind-0.2.0-8.el6.i686.rpm(略舊版本名字的軟件包名字不是 rpcbind 是portmap) :管理 RPC 連接、啟動 RPC 必需的軟件包

NIS 相關文檔

/etc/ypserv.conf:NIS 主配置文件,可以規范 NIS 客戶端是否具有可以查詢 NIS 服務器的權限

/etc/hosts:記錄主機和 IP 地址對應關系,如果沒有 DNS 系統,則 NIS 服務器的 hosts 文件需要每一台 NIS 客戶端的主機記錄。

/etc/netgroup :設置信任的主機或網段

/etc/yp/Makefile:與建立數據庫有關的配置文件

企業需求

公司准備在 DMZ 區域中放置多台服務器,服務器包括 samba 服務器、郵件服務器、WEB 服務器、代理服務器,他們的 IP 分別是 192.168.1.1、192.168.1.2、192.168.1.3、192 .168.1.4,其 於客戶端為 windows 系統,使用 windows 域環境管理。為了方便日常的服務器管理工作,准備再搭建一台 NIS 服務器,其 IP 地址為 192.168.1.200,為了方便管理,所有 DMZ 區域內的服務器都可以使用itchenyi帳號以及其他管理帳號登錄。

NIS 應用拓撲圖:

需求分析

在 DMZ 區域管理服務器並不需要架設 Master/Slave 結構環境,所以只需要設置好主 NIS 服務器即可。首先要設置的是建立 chenyi帳號並設置密碼,然後配置 NIS 域名,例如 NIS 域名為itchenyi。下面還需要設置好主配置文件 ypserv.conf 以及建立數據庫文件。還需要設置/etc/hosts、/etc/netgroup 等配置文件。最後重新啟動相關服務使配置生效。

解決方案

1、安裝 NIS 所需軟件包

安裝並查看

2、創建 chenyi 用戶

3、設置 NIS 域名

vim /etc/sysconfig/network

vim /etc/rc.d/rc.local

保存退出

4、設置/etc/hosts 配置文件 vim /etc/hosts

5、設置/etc/ypserv.conf 主配置文件

vim /etc/ypserv.conf

在整個 ypserv.conf 主配置文件中,最為重要的就是限制客戶端或從服務器的查詢權限。

格式為:

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 文件是逐行解 釋執行,所以要注意設置順序

6、建立 NIS 數據庫

service ypserv start

首先我們要啟動 ypserv 服務,否則建立 NIS 數據庫會報錯

當 NIS 數據庫被建立之後,需要通知 ypserv 和 yppasswdd 這兩個服務,以告知 NIS 數據庫被更新過了哈~

通常通知的方法就是重啟這兩個服務

/etc/init.d/ypserv restart

/etc/init.d/yppasswdd restart

注意:每次更改數據庫內容後(比如更新用戶密碼)就需要使用ypinit -m 命令重新創建數據庫並重啟 ypserv 和 yppasswdd 這兩個服務,否則添加新數據將無法生效哈~

7、建立信任群

可以使用/etc/netgroup 文件來建立 NIS 服務器所信任的客戶端

格式:host,user,domain

如果這個文件沒有內容,則代表所有的主機、帳號和域名都接受哈~因為已經在/etc/ypserv.conf中設置好了關於安全的項目,默認此文件不存在,所以這個文件只要建立就可以了。

touch /etc/netgroup

8、重啟相關服務使配置生效

service rpcbind restart 
service ypserv restart 
service yppasswdd restart  
chkconfig --level 35 rpcbind on 
chkconfig --level 35 ypserv on 
chkconfig --level 35 yppasswdd on

9、客戶端設置

客戶端必須安裝 ypbind 和 yp-tools 這兩個軟件包

(1)加入 NIS 域

確保客戶端和服務器的 NIS 域名相同,可以使用 nisdomainname 命令設置,然後設置開機自動配置 NIS 域名

nisdomainname dmznis

vim /etc/sysconfig/network

vim /etc/rc.d/rc.local

(2)修改/etc/hosts 文件

如果沒有 DNS 服務器,那我們必須確保/etc/hosts 文件中有 NIS 服務器的記錄

vim /etc/hosts

(3)修改密碼驗證方式

NIS 客戶端在查找用戶名和密碼時先從本地開始查找,比如先查 詢/etc/passwd和/etc/shadow文件等,如果沒有查詢到用戶名和密碼則發送廣播到 NIS 服務器從而進行查詢。

默認情況下客戶端如果沒有查詢到用戶名和密碼是不會發送廣播到 NIS 服務器的,所以我們需要修改/etc/nsswitch.conf 文件哈~

vim /etc/nsswitch.conf

四個字段中添加 NIS 服務器的主機名,修改效果如下哈~

(4)修改/etc/yp.conf 文件

在客戶端/etc/yp.conf 文件中設置NIS 服務器的主機名和 NIS 域名

vim /etc/yp.conf

如果需要使用廣播查詢則可以直接添加 domain dmz broadcast

注意,一定要開啟 111 端口,可以使用 rpcinfo 命令查看 rpc 所使用的端口

rpcinfo –p

(6)設置開機啟動 ypbind 服務

chkconfig --level 35 ypbind on

10、客戶端檢測

yp-tools 軟件包中自帶一些測試工具,可以幫助我們更好得了解 NIS 客戶端和服務器通信情況

(1)yptestwww.itchenyi.com

yptest 命令測試數據庫內容等所有與 NIS 相關的信息

如果 Test 9: yp_all 下面出現 NIS 服務器上的所有帳號信息則表示配置成功,否則我們就要檢

查上面的配置是否存在問題哈~

(2)ypwhich

ypwhich 命令主要測試 NIS 客戶端與服務器之間通信使用的是哪些數據庫文件

只使用ypwhich 命令只顯示 NIS 主機名

ypwhich -x則顯示 NIS 客戶端與服務器通信使用了哪些數據庫文件

(3)ypcat

ypcat 命令可以查看 NIS 服務器上使用者 帳號及密碼信息,也可以查看 NIS 服務器上的

/etc/hosts 文件記錄哪些主機信息

ypcat passwd:查看 NIS 服務器上帳號密碼等信息

ypcat hosts :查看 NIS 服務器上的/etc/hosts 文件記錄哪些主機信息

(4)ypmatch

ypmatch chenyi passwd:查詢指定用戶帳號密碼信息

(5)yppasswd

客戶端可以使用 yppasswd 命令修改帳號和密碼 www.itchenyi.com

注意:密碼長度不能少於 6 位哈~此外使用yppasswd 命令可以自動更新 NIS 數據庫中內容。

Copyright © Linux教程網 All Rights Reserved