搭建NIS+autofs+nfs企業環境
系統環境:centos7.4
搭建nis1和nis2,主從服務架構;搭建NFS文件共享服務器,利用autofs實現自動掛載,安全可靠。
服務器地址分配以下:
172.16.12.18 nis1
172.16.12.19 nis2
172.16.12.20 nfs
172.16.12.21 client
NIS服務須要如下軟件包:ypserv、rpcbind、ypbind、yp-tools
NFS服務須要如下軟件包:rpcbind、nfs-utils
Autofs服務須要如下軟件包:autofs
NFS安裝配置
1.安裝nfs-utils、rpcbind
#yum install nfs-utils rpcbind -y
2.設置共享目錄
#vim /etc/exports
/home 172.16.12.0/24(rw,sync,no_root_squash)
/app 172.16.12.0/24(rw,sync,no_root_squash)
共享目錄 容許訪問的網絡地址(訪問權限)
rw 讀寫
ro 只讀
sync 同步模式,內存數據實時寫入磁盤 速度很快可是會下降磁盤效率
async 非同步模式 能保證磁盤效率 可是若是服務器斷電,會形成數據丟失
no_root_squash 客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大
root_squash 與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
all_squash 客戶端上全部用戶在使用NFS共享目錄時都被限定爲一個普通用戶
anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid
3.啓動服務
#systemctl start rpcbind
#systemctl start nfs
#systemctl enable rpcbind
#systemctl enable nfs
4.查看共享目錄
#showmount -e 172.16.12.20
5.建立測試目錄(後邊須要用到)
#mkdir /app/{admin,atrenta,cadence,GridEngine,mentor,Other,source,synopsys,Xilinx,apache,CAD,env_setup,MathWorks,OA_app,SGE,springsoft,sysadmin} -pv
6.查看目錄
7.添加dns解析記錄
vim /etc/hosts
172.16.12.18 nis-master
172.16.12.19 nis-slave
172.16.12.20 nfs
172.16.12.21 client
搭建Autofs服務
分別在nis1和nis2服務上進行配置
1.安裝autofs
#yum install autofs -y
2.修改主配置文件
#vim /etc/auto.master
註釋掉全部信息,而後添加以下內容便可
/app /etc/auto.app //添加掛載記錄,指定掛載配置文件
/user /etc/auto.home
(/etc/auto.master 設置掛載的主配置文件
/etc/auto.misc 光盤自動掛載的配置文件
/etc/auto.net nfs自動掛載的配置文件)
3.建立掛載目錄的配置文件
#mkdir /{app,user}
#vim /etc/auto.home
掛載點 掛載選項 掛載設備
#vim /etc/auto.app
4.添加本地dns解析記錄
#vim /etc/hosts
172.16.12.18 nis-master
172.16.12.19 nis-slave
172.16.12.20 nfs
172.16.12.21 client
5.啓動autofs服務
#systemctl start autofs
#systemctl enable autofs
6.測試自動掛載功能
NIS服務的安裝和配置
NIS是一項目錄服務技術,用來集中控制幾個系統管理數據庫的網絡用品。
nis1的安裝和配置
1.安裝軟件包
#yum install ypserv ypbind yp-tools rpcbind -y
#vim /etc/hosts //添加解析以下記錄
172.16.12.18 nis-master
172.16.12.19 nfs-slave
172.16.12.20 nfs
172.16.12.21 client
2.設置域名
#nisdomainname nis
vim /etc/sysconfig/network
添加:NISDOMAIN=nis
3.配置ypserv.conf
vim /etc/ypserv.conf
末行添加:
dns:no //使用本地地址解析
127.0.0.1/255.255.255.0 : * : * none //容許本地訪問
172.16.12.0/255.255.252.0 : * : * none //容許指定網段訪問
* : * : * deny //拒絕其餘訪問
4.啓動ypserv服務
systemctl start ypserv
systemctl start ypxfrd
systemctl start yppasswdd
systemctl start rpcbind
systemctl enable ypserv
systemctl enable ypxfrd
systemctl enable yppasswdd
systemctl enable rpcbind
5.生成數據庫
/usr/lib64/yp/ypinit -m
輸入nis2,回車
按下:Ctrl+d,輸入:y 便可。
6.查看數據目錄
#ls /var/yp/
7.修改Makefile文件(這個很是重要)
#vim /var/yp/Makefile
NOPUSH=false (開啓推送模式)
(
若是在主server端增添帳號或者刪除帳號信息後,就須要從新制做數據庫
#make -C /var/yp
若是在主server變動了使用者賬號密碼參數,就須要針對這個檔案進行數據庫更新(固然在client端是能夠進行修改密碼的)
#make -C /var/yp passwd
)
all: passwd group hosts rpc services netid protocols mail \
auto.master auto.home auto.app shadow networks (添加以下配置文件便可,若是有多餘文件,請刪除,不然會提示你沒有該文件,固然你也能夠建立一個與其文件名同樣的空文件,每次出錯請認真查看報錯信息,按照提示去一步一步修改)
添加以下內容:
以下圖,這個auto.app是我本身添加的,複製上邊的auto.home,而後粘貼,稍做修改一致便可。(你寫了多個auto.*的文件,如法炮製。)
(修改以上配置的好處就是,方便在客戶端登陸的時候,只要你客戶端加入nis域,而且啓動autofs功能,主端nis1的自動掛載目錄就會推送到nis的客戶端,不須要在客戶端繁瑣的掛載,很是實用。)
8.更新數據庫,從新啓動服務
#make -C /var/yp
#systemctl restart ypserv
#systemctl restart yppasswdd
#systemctl restart ypxfrd
(主從Nis同步的方法,基於ssh信任,在nis1上修改/var/yp/Makefile
#vim /var/yp/Makefile
從第110行後邊插入參數
ssh 從服務器IP "/usr/lib64/yp/ypinit -s 主服務器IP"
下次更新主nis1信息,運行make,直接同步到備nis2上)
9.ssh的免密碼登陸(該步驟無關緊要,若是沒有,則每次主端更新完數據以後,手動更新從端,步驟8天然也就不須要了。)
【1】在nis1端生成密鑰
#ssh-keygen -t rsa
默認生成密鑰對的位置: /root/.ssh/
id_rsa 私鑰文件
id_rsa.pub 公鑰文件
【2】將公鑰上傳到nis2
#ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.16.12.19
工做原理:
1)將公鑰文件傳遞到服務器端
2)將傳遞的文件更名爲authorized_keys
3)修改文件的權限爲600
【3】免密登陸
#ssh 172.16.12.19
nis2的安裝配置
1.安裝
#yum insyall ypserv ypbind yp-tools rpcbind
2.設置域名
#nisdomainname nis
#vim /etc/sysconfig/network
NISDOMAIN=nis
3.配置ypserv.conf
vim /etc/ypserv.conf
末行添加:
dns:no //使用本地地址解析
127.0.0.1/255.255.255.0 : * : * none //容許本地訪問
172.16.12.0/255.255.252.0 : * : * none //容許指定網段訪問
* : * : * deny //拒絕其餘訪問
4.設置開機自啓動
systemctl start ypserv
systemctl start ypxfrd
systemctl start yppasswdd
systemctl enable ypxfrd
systemctl enable ypserv
systemctl enable yppasswdd
5.nis2服務器同步nis1數據庫信息
#/usr/lib64/yp/ypinit -s nis1
這裏一樣也須要編輯/var/yp/Makefile的文件,和nis1配置過程同樣(同上的步驟七),以後再更新數據庫,執行命令:make -C /var/yp
6.主nis1更新數據,咱們能夠在從服務器nis2上執行ypxfr命令同步數據庫信息
/usr/lib64/yp/ypxfr -h 172.16.12.18 passwd.byname
/usr/lib64/yp/ypxfr -h 172.16.12.18 passwd.byuid
最好寫到計劃任務當中去,這樣就實時更新了。
Client配置
客戶端只須要安裝ypbind和yp-tools這兩個包
1.安裝ypbind、yp-tools、autofs
#yum install ypbind yp-tools -y
2.配置域和服務器
#setup,選擇第一個,而後回車
選擇第三個nis服務(按空格選擇),而後下一步
輸入域名,和服務器地址,多個地址用逗號隔開。
3.啓動ypbind服務
systemctl start ypbind
systemctl enable ypbind
systemctl start autofs
systemctl enable autofs
4.在nis1服務器上建立用於登陸測試系統用戶
(172.16.12.18)#useradd -d /user/wjh -s /bin/bash -m wjh
5.在nis1上更新數據信息(記得重啓ypserv服務)
(172.16.12.18)#make -C /var/yp/
#systemctl restart ypserv
6.測試主從服務是否切換正常(這個操做在客戶端執行)
#yptest (看到以下信息就證實成功了)
7.客戶端可使用yppasswd來修改帳戶和密碼
#yppasswd wjh
#ypwhich (該命令主要測試NIS客戶端與服務器之間通訊使用的是那些數據庫文件)
8.查看使用數據庫
9.用戶登陸
#su - lxy