1. 程式人生 > >Linux之NIS服務搭建

Linux之NIS服務搭建

實現 定義 地方 ntp服務 規則 主機名 完成 說明 paragraph

NIS: Linux集中化認證服務

上篇文章中,我們解析了NFS服務的配置和使用方法,在本篇博文中,我們來看下經常和NFS搭配使用的NIS服務的配置和使用方法。NIS(Network Information Services)允許賬號登錄和其它服務諸如:主機名解析,xinetd網絡服務配置等等可以在一臺NIS Server服務器上集中完成,極大方便了企業運維管理人員。本文主要著眼於NIS用戶賬號登錄認證的的使用和配置。需要註意的是:NIS的客戶端和服務器端進行通信的時候並未使用加密算法,因而建議僅僅在獨立網絡或者是有防火墻防護的私有網絡使用NIS。

NIS簡介

NIS服務將許多原本需要在本地提供的文件移至了服務器端,而每當客戶端需要使用這些文件的時候,它可以向服務器端發起申請從而獲得這些文件。通常而言,常用的文件有:/etc/passwd,/etc/shadow,/etc/groups,/etc/hosts,/etc/services,/etc/networks,/etc/rpc,/etc/protocols,/etc/aliases等等。由NIS Server和NIS Client所組成的集群我們稱之為一個NIS域。而每一個NIS域中必須進行時間同步,通常而言,這可以通過使用NTP服務實現。

事實上,隨著科技的發展,在集中化認證服務上,LDAP已經逐步取代了NIS成為越來越多的企業的選擇,因為LDAP相較NIS而言,具有跨平臺、更好的web客戶端支持及桌面應用支持的優勢。想要了解的朋友可以自行百度。

NIS服務器端配置

NIS服務器端配置需要的RPM包有:

l Ypbind rpc端口綁定服務

l Portmap rpc端口映射服務,在centos6上已經被rpcbind服務取代

l Ypserv NIS server服務

l Yp-tools NIS支持命令(ypcat,yppasswd,ypwhich…)

l

Nscd 處理密碼和組查詢功能並且進行緩存。LDAP和NIS均需要用到該服務。它定義了NIS支持查詢的文件,比如說,認證需要passwd shadow和group文件的支持。其配置文件位於/etc/ncsd.conf中。

NIS SERVER端需要修改的配置文件

? /etc/sysconfig/network—該文件主要用來設定NISDOMAIN的域名

例如:

NETWORKING=yes

HOSTNAME=nisServerName

NISDOMAIN=lab2

? /etc/yp.conf ----該文件主要用來設定NIS Server的IP地址,及本身所處的NIS domain域,該文件主要應在client端設定,如果server本身也擬作NIS認證,則在Server端也需要做這些設置。

例如:domain lab2 server 127.0.0.1

在這個例子中,假設NIS Server本身登錄時也要做nis認證,因此將server的地址更改為自身的loopback地址,lab2即為NISDOMAIN域的域名。

? /etc/nsswitch.conf----該文件定義系統登錄時查找相應賬戶信息的查找順序

passwd: files nis

shadow: files nis

group: files nis

上述配置文件的含義為:當系統登錄時,首先查找本地的/etc/passwd(/etc/shadow,/etc/group),如果沒有找到相關的認證信息則就會到NIS服務器上查找相應的配置文件。

/etc/ypserv.conf這個文件用於設置1)NIS Server的相關屬性,2)自身哪些文件可以被哪些客戶端訪問。各項含義說明如下:

==========NIS SERVER的相關屬性===================

dns: no 是否使用dns解析主機名

files: 30 緩存文件個數

slp: no 是否使用slp

slp_timeout: 3600 slp超時時間

xfr_check_port: yes 是否對xfr使用的端口進行檢查

================訪問規則==========================

* : * : shadow.byname : port

* : * : passwd.adjunct.byname : port

訪問規則的形式如下:

host:domain:map:security

host: 定義可以使用NIS服務的終端主機的地址範圍 *代表允許所有主機訪問

domain:定義了該條規則應用於那個domain域 *代表所有NIS domain域

map: 映射文件的名稱,*代表所有映射文件

security:總共有三個選項none,port,deny

none:允許所有訪問

port:如果訪問端口號來源小於1024則允許訪問,否則不允許訪問。

Deny:不允許訪問此條映射

所以如果nis client端調試不通的時候,可以編制訪問規則:

*:*:*:none 測試是否是由於策略問題,導致無法訪問NIS Server。

設置完成後以root用戶執行如下命令:

# nisdomainname name-of-domain ---設置nis domain域名,即時生效,重啟失效

# service rpcbind start

# service yppasswdd start

# service ypserv start

# /usr/lib64/yp/ypinit -m

ypint -m命令使用-m參數將本臺NIS Server配置為一臺主NIS Server ,這會將本機的/etc/passwd,/etc/shadow, /etc/hosts等等文件轉換成NIS GNU dbm數據庫格式,並且產生一個make文件。

最後,我們可以使用rpcinfo –p localhost命令檢查本機rpcbind及ypserv等等服務是否已經使能並運行。

以上就是NIS 服務器端的配置,下面我們看一下NIS Client端的配置。

NIS客戶端配置

需要的RPM包:

ypbind

rpcbind

yp-tools

修改配置文件:/etc/sysconfig/network, /etc/yp.conf, /etc/nsswitch.conf等等與server端的修改相似,不再贅述。

而後運行命令:

service rpcbind restart

service ypbind restart

運行命令:rpcinfo –u localhost ypbind查看portmapper服務是否成功啟動並且ypbind已經成功註冊。事實上,對於客戶端的配置有個圖形化的配置工具authconfig-tui,使用起來非常簡單,僅需簡單的啟用NIS,並設置好NIS服務器的主機名即可。

通過上述幾個步驟,就可以設置好NIS Server端和Client端的配置,而後就可以通過ssh client端的地址進行測試,查看是否成功設置了NIS服務。此時,有一個小問題,因為當客戶端成功通過服務器端驗證並登陸後,其會在本地查找用戶家目錄,但此時我們在客戶端並未有相應的用戶家目錄,因此會有一點小問題,解決方案也很簡單,即在服務器端通過NFS將用戶的家目錄/home導出,並在客戶端進行掛載即可,這也是NFS和NIS搭配使用的一個原因。

好了,關於NIS,就先分享到這裏,有不對的地方歡迎批評指正!


Linux之NIS服務搭建