Samba 安裝與配置 (zt from paipai-oss)

tengrid發表於2009-05-18

1.   環境描述:
作業系統:Slackware10.1 kernel 2.4.30
Samba版本:samba-3.0.20a (注:由於samba2存在較多漏洞,所以此次選用較新的Samba版本)

2.   Samba安裝
a)   將samba-3.0.20a.tar安裝包複製到系統中解壓縮
tar vzfx samba-3.0.20a.tar
b)   進入解壓後的samba包內的source目錄
cd samba-3.0.20a\source
c)   執行命令./configure --enable-smbmount
d)   配置完成後執行命令 make;make install
e)   成功安裝後,會在/usr/local/下自動建立samba目錄。安裝完成。

3.   Samba配置
a)   在/usr/local/samba/lib目錄下新建檔案smb.conf
touch /usr/local/samba/lib/smb.conf
b)   開啟smb.conf檔案
vi /usr/local/samba/lib/smb.conf
c)   在smb.conf檔案中輸入以下內容:
[global]
#Global parameters
printing = Linux
printcap name = /etc/printcap
load printers = yes
guest account = nobody
#更改netbios name為c2cGW,在共享網路上看到該共享裝置名為xyz
netbios name = xyz
#禁止root使用者訪問
invalid users = root
#定義workgroup 與 window機相同,此處為workgroup
workgroup = workgroup
#邦定samba埠在172.16.xx.xx上,掩碼為255.255.255.0
interfaces = 172.16.xx.xx /255.255.255.0
#限制允許訪問的主機,此處只允許172.16.1.yy訪問
host allow = 172.16.1.yy
#共享不需要使用者驗證
security = share
#顯示該samba伺服器資訊
server string = %h server (Samba %v)
#效能調節引數
socket ptions = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
#密碼需要加密
encrypt passwords = yes
#保留共享內容的大小寫等設定
preserve case = yes
short preserve case =yes
#設定log大小,避免/var過大
max log size = 1000


[pub]
#建立共享目錄pub,制定其路徑為/data/pub
path = /data/pub
#訪問許可權設定
public = yes
read nly = yes
browseable = yes
printable = no
guest k = yes
writable = no
d)   在/data目錄下建立pub目錄
mkdir /data/pub
e)   更改pub讀取許可權
chmod 777 /data/pub
f)   執行命令啟動samba服務
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd –D
注:由於Samba是為了與window平臺通訊,在通訊機制中有一種設定允許windows伺服器與samba伺服器同步密碼等操作,需要使用廣播。所以在配置中邦定的ip只限制了137和138埠。還有一些UDP和TCP埠是無法幫定ip的。所以如果samba伺服器存在公網連線,必須透過iptable加以限制。

4.   Window端設定
在window伺服器端可以類似訪問同類windows共享資料夾來訪問samba共享資源,或者直接在“執行”中鍵入:\\\ (ps:\\172.16.xx.xx\pub)來訪問。
為了使用方便,可以將該samba共享資料夾對映為網路驅動器使用。

5.   設定完成。

有一些地方要注意.
1. 實際應用中限制只有哪些ip(如開發小組)可以訪問samba server.
    nmbd, smbd監聽在多個埠上,用iptables限制ip/埠
2. 限制只能以某個帳戶訪問,且進行密碼加密.
3. 必須管理好/usr/local/samba/var這個目錄, 最好是設定成/data分割槽.
    另外,寫個crontab定期刪除不再需要的日誌檔案.

4,其它一些效能考慮.如socket options等選項的採用

在一般的小組開發中,上面的配置已經足夠用了.除非在IDC運營環境,必須作嚴格限制

實際測試中使用samba-3.0.22.tar.gz

有一些變化
1) configure時沒有指定任何選項;
2) smb.conf檔案內容如下:
[global]
workgroup = WORKGROUP
server string =  %h server (Samba %v)
security = share
hosts allow = 10.2.66.
log file = /usr/local/samba/var/log.%m
max log size = 1000
socket ptions = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
interfaces = 10.1.43.251/255.255.255.0
dns proxy = no
preserve case = yes
short preserve case =yes
netbios name = c2cGW
guest account = webadmin

[pub]
path = /data/pub
public = yes
read nly = no
browseable = yes
guest k = yes
writable = yes

3) 然後讓/data/pub為777
4) 從windows中訪問ok (可讀可寫檔案).

具體資訊可參見 /usr/local/samba-3.0.22/docs/htmldocs/index.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/94384/viewspace-600316/,如需轉載,請註明出處,否則將追究法律責任。

相關文章