顯示具有 NIS Server 標籤的文章。 顯示所有文章
顯示具有 NIS Server 標籤的文章。 顯示所有文章

2017年5月12日 星期五

NIS Server (Master、Slave)安裝設定

相關服務:

NIS Client 設定:

Master 和 Slave 的設定幾乎一樣,不同點會特別註明。
NIS Server 端設定
安裝 NIS 套件:
# yum install -y ypserv ypbind yp-tools rpcbind

NIS 主要設定檔(也可利用 authconf-tui 指令設定):
/etc/ypserv.conf          //主要的 ypserv 設定檔,規範 NIS 用戶端是否可登入的權限
/etc/hosts                //NIS server/client 須網路主機名稱與 IP 的對應
/etc/sysconfig/network    //指定 NIS 的網域 (nisdomainname)
/var/yp/Makefile          //資料庫設定檔

NIS 伺服器提供的主要服務方面有底下兩個:
/usr/sbin/ypserv          //NIS 伺服器主要服務
/usr/sbin/rpc.yppasswdd   //額外的 NIS 用戶端之使用者密碼修改服務,相關程式則是 yppasswd 指令

帳號密碼資料庫有關的指令:
/usr/lib64/yp/ypinit      //建立資料庫的指令
/usr/bin/yppasswd         //NIS 用戶端,讓用戶修改伺服器上的密碼

設定主機/IP對應:
# vi /etc/hosts
192.168.60.47 nis-master
192.168.60.48 nis-slave

修改 /etc/sysconfig/network
NISDOMAIN=example
YPSERV_ARGS="-p 1011"

修改 /etc/ypserv.conf
dns: no
files: 30
xfr_check_port: yes
#欄位說明
#[主機名稱/IP]: [NIS網域名稱] : [可用資料庫名稱]: [安全限制]
*                          : *       : shadow.byname    : port
*                          : *       : passwd.adjunct.byname : port
# *                        : *       : *                : none
127.0.0.0/255.255.255.0    : *       : *                : none
192.168.60.0/255.255.255.0   : *     : *                : none
*                            : *     : *                : deny

如果不想限制;主機、網域、資料庫設定*號就可以。


修改 /etc/sysconfig/yppasswdd
YPPASSWDD_ARGS="--port  1012"

NIS master 上修改 /var/yp/Makefile (通知 NIS Slave 更新資料庫):
# vi /var/yp/Makefile
NOPUSH=true --> false
如果沒有 slave 主機,這裡就不須修改

啟動服務:
# systemctl enable ypserv.service yppasswdd.service ypxfrd.service    //沒有 Slave 主機時,ypxfrd.service 不須啟動
# systemctl restart ypserv.service yppasswdd.service ypxfrd.service

檢查 NIS 服務啟動狀況
# rpcinfo -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   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

# rpcinfo -u localhost ypserv
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting

建立帳號(可讓 Client 登入的 Home 目錄)及 YP 資料庫
建個讓 Client 登入的 Home 目錄
# mkdir /nishome
# mount -t nfs 192.168.60.50:/nishome /nishome    //掛載 user home 目錄到 NFS 主機,讓 nis user 登入時有 Home 目錄可使用。
PS:
我的 CentOS 7 是採最小安裝模式,
如出現: mount: wrong fs type, bad option, bad superblock...........
表示 NIS Client 端沒安裝 nfs 套件,需安裝: yum install -y nfs-utils

建測試帳號
# useradd -u 2001 -d /nishome/nistest1 nistest1

設定密碼:
# echo password | passwd --stdin nistest1

nis master 產生 YP 帳密資料庫
# /usr/lib64/yp/ypinit -m
nis slave 抄寫、同步 master 資料庫:
# /usr/lib64/yp/ypinit -s nis-master

驗證資料庫抄寫是否正常:
# ypcat -h localhost passwd.byname

新增、異動使用者,更新 YP 資料庫:
# make -C /var/yp/

手動 nis slave 抄寫、同步 master 資料庫:
# /usr/lib64/yp/ypinit -s nis-master


NIS slave 主機能夠讀取本機上的 passwd.byname 資料庫裡的帳號訊息表示已抄寫完成,NIS 主機就設定完成了。



參考資料: 鳥哥的 Linux 私房菜(NIS Server)



NIS Client 設定(可登入 Home 目錄)

NIS Client 端設定
安裝 NIS 套件:
# yum install -y ypbind yp-tools

設定 NIS 主機/IP Mapping:
# vi /etc/hosts
192.168.60.47 nis-master
192.168.60.48 nis-slave

使用 authconfig-tui 指令來設定 NIS Client
# authconfig-tui

選擇 Use NIS
輸入 NIS DOMAIN NAME
沒有問題,則會跳回系統畫面。
使用 authconfig-tui 設定後會修改的檔案
/etc/sysconfig/network
/etc/yp.conf
/etc/nsswitch.conf
/etc/sysconfig/authconfig
/etc/pam.d/system-auth

yptest 檢查 YP 資料庫:
# yptest
Test 1: domainname
Configured domainname is "example"

Test 2: ypbind
Used NIS server: nis-master

Test 3: yp_match
WARNING: No such key in map (Map passwd.byname, key nobody)

Test 4: yp_first
nistest1 nistest1:$6$1eoh3eR2$Xi/89eufxYpzvu2JEOwRubzRouyV7RPPJYEu/M.qLPZqgQPP68VjpJVDYnejH1xNejaPdOBjtFBPatsX.dFGy1:2001:2001::/nishome/nistest1:/bin/bash

Test 5: yp_next

Test 6: yp_master
nis-master

Test 7: yp_order
1494484286

Test 8: yp_maplist
mail.aliases
protocols.byname
protocols.bynumber
netid.byname
services.byservicename
services.byname
rpc.bynumber
rpc.byname
hosts.byaddr
hosts.byname
group.bygid
group.byname
passwd.byuid
passwd.byname
ypservers

Test 9: yp_all
nistest1 nistest1:$6$1eoh3eR2$Xi/89eufxYpzvu2JEOwRubzRouyV7RPPJYEu/M.qLPZqgQPP68VjpJVDYnejH1xNejaPdOBjtFBPatsX.dFGy1:2001:2001::/nishome/nistest1:/bin/bash
1 tests failed

Test 9 如果有出現全部的帳號驗證就算OK了。
PS:
第三步驟出現的錯誤,出現在 passwd.byname 當中找不到 nobody 的字樣。
因為早期的 nobody 之 UID 都設定在 65534 ,
而 CentOS 將 nobody 設定為系統帳號的 99 ,所以不會被記錄,也就出現這一個警告,這個錯誤是可忽略的。

利用 ypwhich 驗證連線的 NIS 主機及資料庫數量:
# ypwhich      //將 nis-master 關閉,這時會看到驗證的主機變為 nis-slave

# 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 -h <主機> <資料庫>
# ypcat passwd.byname


使用者端指令
變更密碼:
# yppasswd

設定 NIS Client mount 資料夾:
# mkdir /nishome
# mount -t nfs 192.168.60.47:/nishome   /nishome
PS:
我的 CentOS 7 是採最小安裝模式,
如出現: mount: wrong fs type, bad option, bad superblock...........
表示 NIS Client 端沒安裝 nfs 套件,需安裝: yum install -y nfs-utils

測試登入,能不能正常進入 Home 目錄:
su - nishome1

建立一個檔案,再到其他 NIS Client 電腦登入看能否看到檔案。 




NFS 設定搭配 NIS Users Home 目錄

設定 NIS Users Home 目錄
NFS 操作:
yum install -y nfs-utils rpcbind

NFS 伺服器的設定(192.168.60.50)
1.設定 NFS 伺服器開放的資源:
# mkdir /nishome
# vi /etc/exports
/nishome          192.168.60.0/24(rw,no_root_squash)

2.重新啟動 NFS
# systemctl enable nfs.service
# systemctl restart nfs.service
# showmount -e localhost

/nishome     192.168.60.0/24




CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程

 # 當 CubeCOS 虛擬機刪除網路介面,且主機內沒有 virtio 驅動程式成為孤島主機時,進行 virtio iso 掛載流程。 # 步驟一:確認目標虛擬機的底層名稱 # 在 Compute Node(計算節點)上列出運行中的 instance,並反查對應的 OpenSt...