linux服務之samba

samba的功能很簡單,就是爲了使linux和windows之間能夠實現共享。並且利用samba搭建文件服務器,不僅比windows功能強大,而且訪問速度快、安全。samba服務器具有這麼多優點,看來學習搭建samba是網管必須的任務了。首先說明,samba服務器需要兩個守護進程:smbd和nmbd。smbd進程監聽139TCP端口,處理到來的SMB數據包;nmbd進程監聽137、138UDP端口,使其他主機能瀏覽linux服務器。

 
一:安裝和啓動samba服務器
 
·安裝samba服務
 
首先使用rpm -qa | grep samba命令查看系統中是否已經安裝了samba服務。如果沒有放入第一張光盤,並掛載光驅。最後安裝samba需要的組件。samba需要以下3個組件samba_common_2.2.7a_7.9.0.i386.rpm、samba_2.2.7a-7.9.0.i386.rpm 、samba_client_ 2.2.7a_7.9.0.i386.rpm.
 
注:由於我的linux使用最小化安裝,所以在安裝samba時提示
error: failed dependencies:
        samba-common = 2.2.7 is needed by samba-2.2.7-3.7.3
        libcups.so.2   is needed by samba-2.2.7-3.7.3
後來才知道缺少了cups-libs-1.1.17-14包,可安裝cups-libs-1.1.17-14包又必須有libjpeg.so.62、libpng12.so.0、libtiff.so.3這三個包的支持,在第一張光盤中找到這三個包並安裝成功,然後再來安裝cups-libs-1.1.17-14包。最後才成功的安裝了samba。  最小化安裝系統就是不爽!

 
·啓動samba服務
 
安裝完成後,使用service   smb start  命令啓動samba服務。如果想讓samba服務開機自動加載,可使用ntsysv命令打開開機自動加載的服務,並勾選smb,確定後即可實現開機加載samba服務。
 
·關閉防火牆
 
默認情況下防火牆關閉了139 TCP端口,也關閉了nmbd進程所需要的137、138端口。所以我們使用命令service iptables stop命令關閉防火牆。也可對防火牆進行修改,放行TCP139 UDP 137、138端口。
 
 
二:配置samba服務
 
 
samba服務的配置文件是 /etc/samba/smb.conf,我們使用VI編輯器打開smb.conf文件,對samba進行配置
smb.conf文件中包括4中結構,【Global】、【Homes】、【printers】、【Userdefined_shareName】,其中:
Globa用於定義全局參數和缺省值
Homes用於用戶的home目錄共享
Printers用於定義打印機共享
Userdefined_ShareName用於自定義共享(可有多個)
 
說明:文件中開頭帶有“#”爲說明文件,不執行。     開頭帶有“;”爲舉例文件,不執行(若想讓其執行,去掉“;”)。
 
·配置全局參數【Global】
 
1>基本全局參數 
workgroup     設置samba要加入的工作組
server string    指定瀏覽列表裏的機器描述 
netbios name   設置samba的NetBIOS名字                    (需要自己添加)
client code page  設置客戶字符編碼也 936爲簡體中文(需要自己添加)
 
2>日誌全局參數
log file           指定日誌文件的名稱
max  log size  指定日誌文件的最大尺寸(KB)
 
3>安全全局參數
security     定義samba的安裝等級,share--用戶不需要用戶名和密碼即可登陸samba服務器;user--由提供samba服務的samba服務器負責檢查帳戶及口令;server--檢查帳戶及口令的工作指定由另一臺WindowsNT/2000或samba服務器負責;domain--指定windowsNT/2000域控制器來驗證用戶帳戶、密碼
 
encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd
這兩行用於設定是否對samba密碼進行加密,並指定加密文件存放路徑.
hosts allow  定義允許訪問此服務器的IP地址,如192.168.1.  意思爲只有192.168.1.0這個網段的IP才能訪問該服務器
 
 
·配置home共享【home】

 
由於在home共享默認將用戶的宿主目錄進行了共享,這是十分危險的。所以我們必須刪除home共享,方法很簡單,將所有的指令前加“;”或“#”,讓這條指令不執行,也就不對用戶的宿主目錄共享了
 
 
 
·配置自定義共享
 
自定義共享,只需在文件最後加入【share】,名字隨便取。其中一的參數我們來依依介紹
 
comment    描述該共享的名稱
path           定義該共享的目錄
 
browseable    指定共享的目錄是否可瀏覽
writable          指定共享的目錄是否有寫入權限
read only       指定共享的目錄爲只讀權限
 
public           指定是否可以允許Guest帳戶訪問
guest  ok      通public相同,yes爲允許guest訪問
only guest      指定只有guest用戶可以訪問
 
calid users    指定訪問該共享的用戶
 
·配置完成後的工作
 
在配置完成後,我們只需新建path定義的共享目錄,並使用chmod命令設置了其權限爲777。
 這樣在重啓smb服務後客戶端就可以訪問該服務器(我修改了全局參數中的security=share,所以進入服務器不需要輸入用戶名和密碼)
 
進入samba服務器後,我們沒有看到任何文件,是因爲我們設置了browseable=no,這樣客戶端訪問是不能瀏覽目錄的。如果想讓客戶端瀏覽目錄,修改browseable=yes
 
 
三:samba服務器配置實例
以下設置中,【Global】、【Homes】、【printers】參數保持默認
 
·實例一:訪問服務器需用戶名和密碼驗證
新建一用戶如test,在命令行下輸入smbpasswd -a test,使test用戶同時成爲samba用戶,接着要求輸入兩次samba密碼,輸入後可在客戶端使用test用戶和輸入的密碼進入服務器(前提Global中設置security=user)
 
smbpasswd -d    test     禁用test用戶作爲samba用戶
smbpasswd  -e   test     啓用test用戶作爲samba用戶
smbpasswd  -x   test      刪除test用戶作爲samba用戶
 
 
·實例二:客戶端允許寫入
 
 
 
 
·實例三:客戶端只能通過用戶訪問
 
 
 
·實例四:簡單電影服務器
 
 
設置Global中security=share,這樣用戶就可以不用任何權限訪問電影服務器了。可是當我們給服務器上傳電影時該怎麼辦呢?如果給該共享寫入權限,我們是可以給服務器上傳電影了,但其他用戶也可以爲該服務器上傳東西。如果上傳個***,放個鴿子,後果不堪設想啊。其實我們可以在服務器上新建一FTP站點,並且此站點拒絕匿名用戶訪問;新建一用戶名,將其宿主目錄設置爲/movice;設置爲只有某個特定的用戶纔可訪問,並在/etc/vsftp.ftpuser中添加其他用戶。這樣我們可以在客戶端安全、快速的給服務器上傳電影了

 

 

 

本文出自 “.\Best” 博客,請務必保留此出處http://best0.blog.51cto.com/444987/105143

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章