跳到主要內容

uBuntu NIS Client + NFS Client + Autofs 設定

前一陣子在 CEntOS 的 Server 上安置好 NIS Server 與 NFS Server 的相關設定和服務,希望實現在安裝 uBuntu OS 的不同 Client 電腦上,使用 Server 的帳號登入,並且將 Server 上的家目錄於登入後自動掛載至 Client 端的電腦做爲 Client 端登入的家目錄。使用者在不同的電腦登入後可以獲得相同的桌面環境。

以前在 RedHat 的環境實作過,設定上相對於 uBuntu 系統來說簡單的許多。本篇會着重在 uBuntu 系統裡的設定說明。

NIS Client 設定及配置

  1. 安裝 nis 和 portmap 套件,安裝過程會需要輸入 NIS Domain
    # sudo apt-get install nis portmap
  2. 在 /etc/hosts 加入 NIS Server 的位址,避免 DNS 出狀況時無法登入
    # sudo vim /etc/hosts
    192.168.1.100   example.com
  3. 設定認證的 NIS Server 位置
    # sudo vim /etc/yp.conf
    ypserver  example.com
  4. 設定 Name Service Switch,加上 nis
    # sudo vim /etc/nsswitch.conf
    passwd:         compat nis
    group:          compat nis
    shadow:         compat nis
    hosts:          files ... mdns4 nis
  5. 檢查 NIS 的預設設定是不是正確
    # sudo vim /etc/default/nis
    // 是否為 NIS SERVER
    NISSERVER=false
    //是否為 NIS CLIENT
    NISCLIENT=true
  6. 修改 portmap 的設定(12.04 中沒有 /etc/default/portmap 可自行加入)
    # sudo vim /etc/default/portmap
    OPTIONS="-i 127.0.0.1"
  7. 由於 portmap 支援 TCP-Wrapper,設定 Server 端可以存取 Client
    # sudo vim /etc/hosts.allow
    portmap: [NIS Server IP]
  8. 設定允許 NIS Server 上的帳號可以登入本機
    # sudo vim /etc/passwd
    // 最後面加上
    +::::::
    # sudo vim /etc/group
    // 最後面加上
    +:::
    # sudo vim /etc/shadow
    // 最後面加上
    +::::::::
    # sudo vim /etc/gshadow
    // 最後面加上
    +:::

NFS Client 設定及配置

  1. 安裝 nfs-common 套件
    # sudo apt-get install nfs-common
  2. 用 showmount 確定 NFS Server 端上開放分享的資料夾
    # showmount -e 192.168.1.100
  3. 試着掛載到本機
    # mount -t nfs 192.168.1.100:/home /mount_point 

Autofs 設定及配置

  1. 安裝 autofs 套件
    # sudo apt-get install autofs
  2. 修改 auto.master 主要設定檔案中的對應
    # sudo vim /etc/auto.master
    // 監看的目錄     對應的設定檔
    /home      /etc/auto.home
  3. 爲了登入自動將 home 下的資料夾自動掛載,設定 auto.home,* 名稱對應至後面的 &
    # sudo vim /etc/auto.home
    *    -rw,soft,intr,rsize=8192,wsize=8192   192.168.1.100:/home/&
  4. 重新啓動 autofs
    # sudo /etc/init.d/autofs restart
重新開機測試使用本機沒有而 Server 上有的帳號登入。

uBuntu 12.04 在完成設定後,登入畫面似乎不會像 11.10 出現一個「Other」的項目可以用來作其他帳號的登錄。如果想要在登入畫面顯示「Other」,可以修改 lightdm.conf 的設定
  1. 修改 /etc/lightdm/lightdm.conf 檔案
    # sudo vim /etc/lightdm/lightdm.conf
  2. 加入 greeter-show-manual-login = true 到檔案中
     [SeatDefaults]
    user-session=ubuntu
    greeter-session=unity-greeter
    greeter-show-manual-login = true
  3. 如果不希望登入過的帳號全出現,再多加一行
     greeter-hide-users = true

留言

這個網誌中的熱門文章

Word的合併列印如何出現「千分位」符號

今天樓下的同事突然問我一個問題,合併列印的時候如何顯示「千分位符號」(逗號),就是12 , 300。在Excel我們可以很容易的為儲存格裡的數字加上千分位的標記,但是儲存格實際儲存的還是只有數字,那個千分位符號是Excel給我們看的一種「格式」。 當我們在Word裡使用Excel做好的報表來合併列印的時候,Word會最真實的將這個數字欄位給讀出來,呈現在合併列印的欄位數值裡,無論在Excel理事不是有設定千分位符號,在Word合併列印後卻沒有出現,所以我們同樣的必須給他加上格式。 Word裡加上格式並不如Excel裡按一下就完成,加上逗號的千分位格式方法如後: 1.在Word裡插入合併列印的欄位變數。 2.在變數上按滑鼠右鍵,選擇「切換功能變數代碼」(也可以直接按Alt+F9),變數會由 << 經費 >> 變成 { MERGEFIELD "經費" } 。 3.加上格式就是把 { MERGEFIELD "經費" } 在}前加入數字格式參數 /##,###,會成為 { MERGEFIELD "經費" /# ##,### }(這裡指定五位數,以此類推) #:這個格式項目會指定要在結果中顯示的必要位數;如果結果不含該位數的數字,則 Word 會顯示一個空格。 0:這個格式項目會指定要在結果中顯示的必要位數;如果結果不含該位數的數字,則 Word 會顯示 0 (零)。 4.預覽內容,就可以發現千分位(逗號)出現,如果數值有零的話,最好可以換成 /# ##,## 0 ,避免空格出現。 數字格式參數請參考 Microsoft Office Online 。

在DOS下檔案名稱加上日期

由於要完成檔案自動備份的需求,以減少每日使用人工的麻煩,也可以避免人為疏失造成的遺漏,需要定時拷貝某個檔案至遠端,在檔名加上日期以避免檔案覆蓋的情形。由於近來接觸Linux較多,自然比較熟悉Linux的Shell語法,回到Windows裡卻想不到解決的方法。 開始使用電腦時,已經活生生的跳過了DOS的年代,雖然會使用Copy語法,卻不知怎麼加上系統日期,參拜估狗大師後得到了解答,使用%DATE%環境變數。 在DOS中使用date會顯示目前日期,但會要求輸入新的日期時間不符合需求,雖然加上"/T"不會詢問新時間,但因為date是指令無法使用在copy的語法中,所以我們使用%DATE%環境變數,所以在我們要加上日期的檔案上加上此環境變數:copy test.txt test_%DATE%.txt 結果並不如我們想像,使用echo看%DATE%的傳回值,會出現"2007/12/4",使用於copy語法裡系統回應「命令語法不正確」,我們必須去除「/」的符號,這就需要用到環境變數的擴充功能了! 用echo來測試: # echo %DATE:~0,4% : 取環境變數%DATE%的值,由第一碼開始取四碼(可以取出"西元年"的值)。 # echo %DATE:~5,2% :取環境變數%DATE%的值,由第六碼開始取二碼(可以取出"月"的值)。 # echo %DATE:~8,2% :取環境變數%DATE%的值,由第九碼開始取二碼(可以取出"日"的值)。 原先的 #copy test.txt test_%DATE%.txt 要更改成 #copy test.txt test %DATE:~0,4% %DATE:~5,2% %DATE:~8,2% .txt 拷貝後的檔案為test_20071204.txt

使用者只能 SFTP 登入自己的家目錄

使用者只能 SFTP 登入自己的家目錄 老師的電腦動畫課堂的期末作品,是開放讓學生透過 FTP 上傳自己的作品及網頁至實驗室的伺服器,由於 FTP 是明碼的封包傳輸於最近升級系統後,便考慮改用 SFTP(SSH File Transfer Protocol)來提供上傳的服務。 提供 SFTP 上傳的同時,希望使用者和以前一樣只能使用 SFTP 無法使用 SSH 登入伺服器。SFTP 為 SSH 的檔案傳輸服務,預設建立帳號的時候使用者同時可以使用這兩種服務。透過 SFTP only + Chroot 設定我們能限制使用者僅能 SFTP 並且無法離開自己的家目錄去到處閒晃。 安裝 OpenSSH 如果安裝的是 Ubuntu Server 應該在安裝過程會安裝 openssh-server 套件,沒有的話可以利用下面的指令安裝。 $ sudo apt-get install openssh-server 新增一個給 SFTP 使用的群組 sftpaccess $ sudo groupadd sftpaccess 修改 OpenSSH 設定檔 編輯 /etc/ssh/sshd_config 設定檔,在約 77 行的地方找到 Subsystem sftp /usr/lib/openssh/sftp-server 註解此行並修改為 Subsystem sftp internal-sftp 。 $ sudo vim /etc/ssh/sshd_config #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp 在檔案的尾端加上下面的片段 Match group sftpaccess ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 建立新的使用者並加入 sftpaccess 群組 在設定檔中,我們設置了 sftpaccess 這個群組套用要做 ChrootDirectory 的設定,所以我們將要限制的使用者,加入這個群組中。 $ sudo useradd