通過SAMBA服務器軟件可以讓Windows等非Linux客戶端順暢的訪問Linux服務器上的共享資源。如果Linux服務器中設置了許多共享的資源(如Linux服務器是一臺文件服務器),為了讓Windows客戶端能夠順利訪問這些共享資源,最好能夠時時啟動SAMBA服務,而不是在需要用到的時候才啟用。要實現這個目的,最好的做法就是在Linux系統開機的時候自動啟動SAMBA服務器,來節省每次手工啟動的時間。而且,這也可以避免因為忘記啟動而導致服務器停用這個服務而給其他客戶端帶來訪問的故障。
在Linux系統中,要讓SAMBA服務器隨機啟動有不少的實現方法。系統管理員可以根據自己的愛好以及專業背景來選擇合適的實現方式。
方式一:利用ntsysv來配置。
在Windows操作系統中有一個MSCONFIG的小工具。利用這個工具可以對一些服務進行設置。如設置一些服務隨機啟動,讓一些服務不隨機啟動等等。其實在Linux操作系統中也有類似的一個工具,即ntsysv。有關這個工具的說明大家可以利用man命令來查看。如下圖所示:
簡單的說,ntsysv就是使用 newt 庫的 SysV 風格的 runlevel 配置工具。它是Red Hat公司遵循GPL規則所開發的程序,它具有跟Msconfig類似的互動式操作界面。通過這個界面,系統管理員可以輕易地利用方向鍵和空格鍵等,開啟、關閉操作系統在每個執行等級并設置系統的各種服務。不過可惜的是,到現在為止好像還不支持鼠標操作,需要通過鍵盤來實現相關的設置。ntsysv工具為激活或停運服務提供了簡單的界面。系統管理員可以使用 ntsysv來啟動或關閉由xinetd管理的服務,還可以使用 ntsysv 來配置運行級別。按照默認設置,只有當前運行級別會被配置。若要配置不同的運行級別,則需要使用 --level 選項來指定一個或多個運行級別。Ntsysv配置工具提供的交互式界面與文本模式下安裝程序的工作方式類似。系統管理員可以使用上下箭頭來上下查看列表,并使用空格鍵來選擇或取消選擇相關的服務;另外可以用來點擊(回車鍵)確定和取消按鈕來實現選擇或者取消服務的目的。如果要在服務列表在確定、取消按鈕中進行相互切換,則可以使用 Tab鍵。如果某項服務名字之前有*符號則表示這項服務被設置為啟動。當系統管理員需要進一步了解這個服務的相關信息,則按F1幫助鍵會彈出每項服務的簡短描述。
可見ntsysv因為其提供了一個圖形化的配置工具,故是Linux系統管理員設置讓SMB服務隨機啟動的一個首選。如果系統管理員需要利用這個工具來實現配置的話,操作也很簡單。首先系統管理員需要在Linux的終端中輸入“ntsysv”命令。然后系統會啟動這個配置窗口。其次系統管理員要利用鍵盤上的上下鍵在列表中找到SMB這一個條目。找到后按空格鍵啟用這項服務。注意按空格鍵后系統管理員要確保這服務的前面有一個*號。這個符號表示這個服務被設置為隨機啟動了。最后利用Tab鍵把光標移動到確定按鈕,按回車鍵確定即可。雖然Ntsysv工具沒有提供鍵盤支持,但是對于大部分Linux系統管理員來說,這可能已經司空見慣了,不會對他們造成多大的困擾。不過有些Linux系統的版本可能不支持這個工具,此時系統管理員可能就需要采取后續的幾中方式來進行配置。
方式二:通過Chkconfig來設置SAMBA服務器隨機啟動。
Red Hat設計chkconfig的目的就是用來管理系統初始化的時候啟動的服務。Chkconfig命令可以用來激活或者停用服務,也可以用來設置讓某個服務隨機啟動。通常情況下,利用chkconfig --list命令后,系統管理員可以看到一個系統服務列表,還可以看到相關的運行級別。系統管理員還可以利用這個命令來查看每個運行級別是否自動運行SAMBA服務器。通常情況下,我們可以通過如下的命令來達到預計的目的。
Chkconfig –level 5 smb on
這個指令就表示入股哦系統運行Run level 5的級別時,就會自動啟動SAMBA服務器。Chkconfig如果沒有帶參數運行時,則顯示其用法。如果加上服務名,那么就檢查這個服務是否在當前運行級啟動。如果是則返回true,否則返回false。如果在服務名后面指定了on,off或者reset,那么chkconfi 會改變指定服務的啟動信息。on和off分別指服務被啟動和停止,reset指重置服務的啟動信息。系統默認情況下on和off開關只對運行級3,4,5有效,但是reset可以對所有運行級有效。
不過運行這個命令的時候,需要注意一個問題,即chkconfig指令并不是立即自動禁止或激活一個服務。它只是簡單的改變了符號連接。另外這個命令的話到目前為止好像只有Red Hat的Linux系統具有。而像CentOS等了Linux操作系統則不支持這個命令。為此這個命令的應用也具有一定的局限性。像有些企業如果采用了CentOS版本的操作系統的話,則就需要后面筆者介紹的解決方式了。
方式三:通過服務配置設置SAMBA的自啟動。
在Windows中,有一個“服務”配置窗口。在這個窗口中,系統管理員可以指定哪些服務自動啟動,哪些服務手工啟動,而那些服務又是被禁止啟動的。Linux操作系統在設計的時候,也借鑒了這個圖形化的管理工具。在Linux操作系統中,有“服務配置”窗口。系統管理員可以依次打開“主菜單”、“系統設置”、“服務器設置”、“服務”選項,然后系統就會打開一個服務配置窗口。在這個窗口的左面,系統管理員可以看到列出了相關的服務名字。如果系統管理員要讓SAMBA服務自動啟動的話,則知需要把這個服務前面的鉤打上即可。配置完成之后,主要要保存相關的配置。在下次重新啟動之后,這個服務就會被自動啟動。
這個服務配置窗口基本上所有的Linux發行版本都具有。不過其適用方面也受到一定得限制。如只有在Linux服務器面前進行設置。而不能夠通過SSH等遠程方式進行維護。即使能夠通過遠程維護,也需要通過很多的設置才可以完成。
為此如果系統管理員采用的Linux系統支持以上三種方式的話,那么最好還是選擇第二種方式。其雖然沒有提供圖形化的管理方式,但是畢竟只需要通過一個簡單的命令就可以實現配置。系統管理員只要掌握chkconfig命令這個用戶,那么配置起來應該不會遇到什么問題。而且最重要的是這個方式能夠支持遠程操作。也就是說系統管理員不用站到Linux服務器面前就可以操作了。如果系統管理員采用的Linux版本不支持這個Chkconfig命令的話,那么只要采用第一種與第三種設置方式了。第一種設置方式雖然不提供鼠標的支持,但是對于鍵盤等的支持非常好,而且設置起來的話也比較迅速。而第三種方式的話可以通過鼠標來操作,但是從打開到設置完成要比第一種方式要慢一點。另外第三種方式的話基本上所有Linux操作系統的發行版本都能夠支持。
可見以上三種實現方式各有各的特點。Linux系統管理員需要根據自己所使用的Linux系統版本、所采取的管理方式(遠程還是本地管理)、對命令的理解程度等等來選擇合適的處理方式。若不考慮系統版本的話,我是建議大家采用第二種處理方式。如果第二種方式行不通的話,則使用第一種方式來設置。第三種處理方式是最后的選擇。其實不僅是SAMBA服務,其他的應用服務也有類似的需求。如在Linux服務器上部署了Oracle數據庫系統,也需要手工手工設定讓其能夠隨機啟動。為此Linux管理員掌握相關的配置是非常重要的。這個配置用處很大。