Chinaunix首页 | 论坛 | 博客
  • 博客访问: 693680
  • 博文数量: 108
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1436
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-31 09:49
文章分类
文章存档

2019年(16)

2015年(2)

2014年(20)

2013年(70)

我的朋友

分类: LINUX

2013-09-25 10:42:53

1、NIS客户端需要的软件包
RHEL4系统作为NIS客户端使用时,需要使用ypbind和yp-tools两个软件包,这两个软件包是默认安装到系统中的,因此不需要手动安装。
clip_image038
 
ypbind是作为NIS客户端与NIS服务器进行通信的服务程序,软件包中包括执行程序、配置文件和启动脚本等文件。
clip_image040

NIS 伺服器相關的設定檔
    

在 NIS 伺服器上最重要的就是 ypserv 這個軟體了,但是,由於 NIS 設定時還會使用到其他網路參數設定資料, 因此在設定檔方面需要有底下這些資料喔:

  • /etc/ypserv.conf:這是最主要的 ypserv 軟體所提供的設定檔,可以規範 NIS 用戶端是否可登入的權限。
  • /etc/hosts:由於 NIS server/client 會用到網路主機名稱與 IP 的對應,因此這個主機名稱對應檔就顯的相當重要!每一部主機名稱與 IP 都需要記錄才行!
  • /etc/sysconfig/network:可以在這個檔案內指定 NIS 的網域 (nisdomainname)。
  • /var/yp/Makefile:前面不是說帳號資料要轉成資料庫檔嗎? 這就是與建立資料庫有關的動作設定檔;

至於 NIS 伺服器提供的主要服務方面有底下兩個:

  • /usr/sbin/ypserv:就是 NIS 伺服器的主要提供服務;
  • /usr/sbin/rpc.yppasswdd:提供額外的 NIS 用戶端之使用者密碼修改服務, 透過這個服務, NIS 用戶端可以直接修改在 NIS 伺服器上的密碼。相關的使用程式則是 yppasswd 指令;

與帳號密碼的資料庫有關的指令方面有底下幾個:

  • /usr/lib64/yp/ypinit:建立資料庫的指令,非常常用 (在 32 位元的系統下,檔名則是 /usr/lib/yp/ypinit 喔!);
  • /usr/bin/yppasswd:與 NIS 用戶端有關,主要在讓用戶修改伺服器上的密碼。

    NIS的网域名称为——nisliupeng

   NISMASTER的IP    192.168.156.190    主机名称    master.com
    NIS SLAVE的IP    192.168.156.191    主机名称    client
第一步、设置NIS的域名

NIS 是會分領域名稱 (domain name) 來分辨不同的帳號密碼資料的,因此你必須要在伺服器與用戶端都指定相同的 NIS 領域名稱才行。設定這個 NIS 領域名稱的動作很簡單,就直接編輯 /etc/sysconfig/network 即可!如下所示:

[root@www ~]# vim /etc/sysconfig/network # 不要更改其他既有資料,只要加入底下這幾行即可: 
NISDOMAIN=vbirdnis <==設定 NIS 領域名稱 
YPSERV_ARGS="-p 1011" <==設定 NIS 每次都啟動在固定的埠口 
第二步、设置主配置文件/etc/ypserv.conf
[root@www ~]# vim /etc/ypserv.conf 
dns: no # NIS 伺服器大多使用於內部區域網路,只要有 /etc/hosts 即可,不用 DNS 啦 
files: 30 # 預設會有 30 個資料庫被讀入記憶體當中,其實我們的帳號檔案並不多,30 個夠用了。 
xfr_check_port: yes # 與 master/slave 有關,將同步更新的資料庫比對所使用的埠口,放置於 <1024 內。 
# 底下則是設定限制用戶端或 slave server 查詢的權限,利用冒號隔成四部分:
# [主機名稱/IP] : [NIS網域名稱] : [可用資料庫名稱] : [安全限制] # [主機名稱/IP]   :
可以使用 network/netmask 如 192.168.100.0/255.255.255.0 
# [NIS網域名稱]   :例如本案例中的 vbirdnis
# [可用資料庫名稱]:就是由 NIS 製作出來的資料庫名稱;
# [安全限制]      :包括沒有限制 (none)、僅能使用 <1024 (port) 及拒絕 (deny)
# 一般來說,你可以依照我們的網域來設定成為底下的模樣: 
127.0.0.0/255.255.255.0     : * : * : none 
192.168.100.0/255.255.255.0 : * : * : none 
*                           : * : * : deny 
# 星號 (*) 代表任何資料都接受的意思。上面三行的意思是,開放 lo 內部介面、
# 開放內部 LAN 網域,且杜絕所有其他來源的 NIS 要求的意思。 # 還有一個簡單作法,你可以先將上面三行註解,然後加入底下這一行即可: 
*                         : * : * : none 

由於鳥哥習慣在內部網域並不設定比較嚴格的限制,因此通常鳥哥都是選擇使用『 * : * : * : none 』那個設定值! 然後透過 iptables 來管控可使用的來源就是了。當然,你可以依據你的需求來設定啦!

第三步、设置/etc/hosts

,你應該這樣做:

[root@www ~]# vim /etc/hosts # 原本就有的 localhost 與 127.0.0.1 之類的設定都不要更動,只要新增資料: 
192.168.100.254    
192.168.100.10    clientlinux.centos.vbird 
[root@www ~]# hostname  # 再做個確認,確定輸出的主機名稱與本機 IP 確實有寫入 /etc/hosts 喔! 

注意!如果你的主機名稱 (hostname) 與 NIS 的主機名稱不一樣,那麼在這個檔案當中還是需要將你的主機名稱給他設定進來! 否則在後面資料庫的設定時,肯定會發生問題。當然啦,你也可以直接在 /etc/sysconfig/network 當中直接重新設定主機名稱,然後重新開機,或者是利用 hostname 這個指令重新設定你的主機名稱也可以。

第四步、启动与观察所有相关的服务

接下來當然是先啟動所有相關的服務囉,這包括 RPC, ypserv 以及 yppasswdd 囉!不過,如果你的 RPC 本來就已經啟動的話,那就不要重新啟動 rpcbind 了!此外,為了也讓 yppasswdd 啟動在固定的埠口,方便防火牆的管理, 因此,我們也建議你可以設定一下 /etc/sysconfig/yppasswdd 喔!

[root@www ~]# vim /etc/sysconfig/yppasswdd 
YPPASSWDD_ARGS="--port  1012" <==找到這個設定值,修改一下內容成這樣! 
[root@www ~]# /etc/init.d/ypserv start 
[root@www ~]# /etc/init.d/yppasswdd start 
[root@www ~]# chkconfig ypserv on 
[root@www ~]# chkconfig yppasswdd on 

注意,主要的 NIS 服務是 ypserv ,不過,如果要提供 NIS 用戶端的密碼修改功能的話, 最好還是得要啟動 yppasswdd 這個服務才好。在啟動完畢後,我們可以利用 rpcinfo 來檢查看看:

[root@www ~]# rpcinfo -p localhost program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100004    2   udp   1011  ypserv
    100004    1   udp   1011  ypserv
    100004    2   tcp   1011  ypserv
    100004    1   tcp   1011  ypserv
    100009    1   udp   1012  yppasswdd 
# 其他不相干的 RPC 鳥哥將它拿掉了,與 NIS 有關的至少要有上面這幾個!要仔細看,
# 看看埠口是否為我們規定的 1011, 1012 ,若不是的話,得要修改一下設定檔。 
[root@www ~]# rpcinfo -u localhost ypserv 
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting

很多時候,很多朋友在設定完 NIS 後又回去設定 NFS 了,結果看了前一章的介紹,竟然又重新啟動 rpcbind , 這將導致 ypserv 的註冊資料被註銷掉。因此,使用上述的動作來檢查看看服務有沒有在等待中, 要看到如上的『就緒並等待服務』才會是正常的呦!


第五步、处理并建立资料库

在完成了上面的所有步驟後,接下來我們得要開始將主機上面的帳號檔案轉成資料庫檔案啦! 不過,因為擔心與 NIS 用戶端的帳號有衝突,加上之前我們已經建立過一些帳號了。所以,這裡我們建立三個新帳號, 分別是 nisuser1, nisuser2, nisuser3 。不過帳號主要是依據 UID 來判斷的啊!因此,我們使用大於 1000 的 UID 來建立這三個帳號喔!

[root@www ~]# useradd -u 1001 nisuser1 
[root@www ~]# useradd -u 1002 nisuser2 
[root@www ~]# useradd -u 1003 nisuser3 
[root@www ~]# echo password | passwd --stdin nisuser1 
[root@www ~]# echo password | passwd --stdin nisuser2 
[root@www ~]# echo password | passwd --stdin nisuser3 

接下來,將建立的帳密資料轉成資料庫吧!轉換的動作直接透過 /usr/lib64/yp/ypinit 這個指令來處理即可!整個步驟是這樣做的:



echo "密码" | passwd --stdin 用户名


[root@master mnt]# /usr/lib64/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers.  master.com is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a .
        next host to add:  master.com
        next host to add:
The current list of NIS servers looks like this:
master.com
Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/nisliupeng/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/nisliupeng'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/nisliupeng'
master.com has been set up as a NIS master server.
Now you can run ypinit -s master.com on all slave server.

缺少处理防火墙的步骤,待测试,因为我目前没开防火墙




























































阅读(1629) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~