前一陣子在 CEntOS 的 Server 上安置好 NIS Server 與 NFS Server 的相關設定和服務,希望實現在安裝 uBuntu OS 的不同 Client 電腦上,使用 Server 的帳號登入,並且將 Server 上的家目錄於登入後自動掛載至 Client 端的電腦做爲 Client 端登入的家目錄。使用者在不同的電腦登入後可以獲得相同的桌面環境。
以前在 RedHat 的環境實作過,設定上相對於 uBuntu 系統來說簡單的許多。本篇會着重在 uBuntu 系統裡的設定說明。
以前在 RedHat 的環境實作過,設定上相對於 uBuntu 系統來說簡單的許多。本篇會着重在 uBuntu 系統裡的設定說明。
NIS Client 設定及配置
- 安裝 nis 和 portmap 套件,安裝過程會需要輸入 NIS Domain
# sudo apt-get install nis portmap
- 在 /etc/hosts 加入 NIS Server 的位址,避免 DNS 出狀況時無法登入
# sudo vim /etc/hosts
192.168.1.100 example.com - 設定認證的 NIS Server 位置
# sudo vim /etc/yp.conf
ypserver example.com - 設定 Name Service Switch,加上 nis
# sudo vim /etc/nsswitch.conf
passwd: compat nis
group: compat nis
shadow: compat nis
hosts: files ... mdns4 nis - 檢查 NIS 的預設設定是不是正確
# sudo vim /etc/default/nis
// 是否為 NIS SERVER
NISSERVER=false
//是否為 NIS CLIENT
NISCLIENT=true - 修改 portmap 的設定(12.04 中沒有 /etc/default/portmap 可自行加入)
# sudo vim /etc/default/portmap
OPTIONS="-i 127.0.0.1" - 由於 portmap 支援 TCP-Wrapper,設定 Server 端可以存取 Client
# sudo vim /etc/hosts.allow
portmap: [NIS Server IP] - 設定允許 NIS Server 上的帳號可以登入本機
# sudo vim /etc/passwd
// 最後面加上
+::::::
# sudo vim /etc/group
// 最後面加上
+:::
# sudo vim /etc/shadow
// 最後面加上
+::::::::
# sudo vim /etc/gshadow
// 最後面加上
+:::
NFS Client 設定及配置
- 安裝 nfs-common 套件
# sudo apt-get install nfs-common
- 用 showmount 確定 NFS Server 端上開放分享的資料夾
# showmount -e 192.168.1.100
- 試着掛載到本機
# mount -t nfs 192.168.1.100:/home /mount_point
Autofs 設定及配置
- 安裝 autofs 套件
# sudo apt-get install autofs
- 修改 auto.master 主要設定檔案中的對應
# sudo vim /etc/auto.master
// 監看的目錄 對應的設定檔
/home /etc/auto.home - 爲了登入自動將 home 下的資料夾自動掛載,設定 auto.home,* 名稱對應至後面的 &
# sudo vim /etc/auto.home
* -rw,soft,intr,rsize=8192,wsize=8192 192.168.1.100:/home/& - 重新啓動 autofs
# sudo /etc/init.d/autofs restart
重新開機測試使用本機沒有而 Server 上有的帳號登入。
uBuntu 12.04 在完成設定後,登入畫面似乎不會像 11.10 出現一個「Other」的項目可以用來作其他帳號的登錄。如果想要在登入畫面顯示「Other」,可以修改 lightdm.conf 的設定
- 修改 /etc/lightdm/lightdm.conf 檔案
# sudo vim /etc/lightdm/lightdm.conf
- 加入 greeter-show-manual-login = true 到檔案中
[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
greeter-show-manual-login = true - 如果不希望登入過的帳號全出現,再多加一行
greeter-hide-users = true
留言