Samba 再舞

原本以為 Samba 的設定對我已經不是問題了, 不過這天拿到一台全新的 server 測試時, 真讓我傷了不少腦筋.

首先不就是去安裝一套 samba 嗎?然後改改 smb.conf, /etc/init.d/smb restart, 從 PC 連過去不就結了?我原本就是這樣想的, 不過 PC 始終連不上這台新 server. 由於別台 server 的 samba 我都能連得上, 所以 PC 的防火牆顯然沒有問題. 還是來關心 smb.conf 吧!

把 passdb backend =tdbsam ? 改到 tdbsam 時,也看到註解上直接說 smbpasswd 那套都過時了, 現在不是 tdbsam 就是 ldapsam. SAM 大概就是指 Samba 了? LDAP 是 Light Directory Access Protocol,設定 ldapsam 帳號密碼會去問 LDAP server,適用於大量的使用者.而 tdbsam (Trivial DataBase)可以直接支援這台 server 上的用戶, 適用於 250 個以下的使用者 [ref 1]. 不過連 security=share 都不靈, 顯然和帳號密碼都無關.

接著很自然就會想到, Google 一下 “Samba 連不上" 這個關鍵字. 呵呵, Google 果然給我們很多建議, 首先就是目錄的權限要設對. 這個容易, 把它們的 mode 都設成 777 就結了, 但這個也不是原因. 其他人遇到和我類似的狀況時, 往往都是孤兒文 – 有人問沒人答.

沒辦法, 我只好去看 log 了 – Windows 的 “診斷". 其實 Windows 的 “疑難排解" 很難用, 這次真的是不得已才去研究它.

原來是 port 445 沒回應. 那麼怎麼把 server 的 port 445 打開呢?首先要去改 iptables [ref 2].

vi ./etc/sysconfig/iptables

加入兩行規則, 把 port 445 的 TCP 和 UDP 都改為接受.

-A INPUT -m state — state NEW -m tcp -p tcp -s 172.26.0.0/16 –dport 445 -J ACCEPT

-A INPUT -m state — state NEW -m udp -p udp -s 172.26.0.0/16 –dport 445 -J ACCEPT

其中, 192.168.0.0/16 的 代表 mask  255:255:0:0, 所以公司裡面不同網段的 IP 都可以連得上. 關於 32~0 各自代表 mask 值多少, 請參照 [ref 3].數字愈小代表接受 IP 的範圍愈大. 
然後重啟防火牆, 
service iptables restart

果然, 現在新增一個網路連線磁碟機的時候, 所有 smb.conf 裡面設定的目錄都自動跑出來讓我選了.

[ref]

1. Howto setup Samba Server (File Server) With tdbsam Backend 

2. 邁向 RHCE 之路 (Day29) – Samba 檔案分享伺服器

3. Classless Inter-Domain Routing

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

%d 位部落客按了讚: