設定 smb.conf (不需認證)
設定檔內容主要是由兩個部分所組成的,第一部份是 global 整體設定區段,第二部分則是分享目錄區段。另外檔案中的註解符號為 "#" 或 ";"。好了,接著就根據剛剛的規劃,來練習如何設定一台基本的 Samba Server。
1. 先建立分享目錄,並讓所有人對此目錄具寫入權限:
suse:~ # mkdir /tmp/sharedir
suse:~ # chmod 777 /tmp/sharedir
2. 設定 smb.conf:
suse:~ # vi /etc/samba/smb.conf
# global 區段
workgroup = workgroup
server string = Samba Server
security = share
netbios name = suse
# 分享目錄區段
comment = Share Directory
public = yes
path = /tmp/sharedir
writable = yes
這裡分兩個部分來說明,分別是 global 區段及分享目錄區段:
global 區段:
http://www.suse.url.tw/picture/icon.jpgworkgroup設定 Samba Server 所要加入的工作群組為何。請設定成與網芳裡 Windows 的工作群組相同即可。 http://www.suse.url.tw/picture/icon.jpgserver string這只是 Client 端在網芳中所看到這台 SAMBA 主機的註解說明而已,不設也沒關係。 http://www.suse.url.tw/picture/icon.jpgsecurity設定 Client 端登入 Samba 時的安全等級,一般常看到的有以下四種:
share:這是最寬鬆的等級,Client 端不須經過認證程序,即可存取 Samba 所分享的資源。user:使用者需先通過認證方可存取,而帳號密碼的檢查工作為 Samba 本身來負責。此為預設值。server:使用者需先通過認證方可存取,但帳號密碼的檢查工作是靠另外一台 SMB Server 來負責。domain:當 Samba Server 加入 NT 網域時,藉由另一台 NT 網域控制站主機來進行認證的工作。http://www.suse.url.tw/picture/icon.jpgnetbios name設定這台 Samba Server 的 NetBIOS 電腦名稱,像我們這裡設定為 suse,那麼 Client 端在網芳中所看到的這台 Samba Server 的名稱就是 suse。如果沒設定這個參數的話,則預設的 NetBIOS name,為您本身的主機名稱 (HOSTNAME)。 分享目錄區段:
首先在 [ ] 內所指定的名稱,就是 Client 端在網芳中所看到 Samba 分享目錄的名稱,這個名稱可設定成與真正要分享的目錄名稱相同或不同,看您自己吧 !
http://www.suse.url.tw/picture/icon.jpgcomment提供給 Client 端在網芳中所看到該分享目錄的註解說明而已。 http://www.suse.url.tw/picture/icon.jpgpublic設定此目錄是否允許公開分享。因為我們是採用「security = share」的最寬鬆等級,那當然就設成 yes 囉。如果這個參數沒設定的話,則預設是 no。另外您也可以使用「guest ok」來代替,比如「public = yes」就等於「guest ok = yes」。http://www.suse.url.tw/picture/icon.jpgpath設定分享目錄的實際路徑。 http://www.suse.url.tw/picture/icon.jpgwritable是否允許對此目錄及目錄中的檔案具有寫入的權限。如果使用者本身對該目錄原本就不具有寫入的權限,就算這裡設定成 yes 也無濟於事 ; 相反過來,若使用者原本已具備寫入權限,但這裡設定成 no,則還是無法寫入。預設是「writable = no」或「read only = yes」。 設定完成後,請啟動 SAMBA 服務:
suse:~ # rcsmb start
Starting Samba SMB daemon done
suse:~ # rcnmb start
Starting Samba NMB daemon done
http://www.suse.url.tw/picture/1775.gif 檢查 smb.conf 的語法正確性及程式執行狀態
首先利用 testparm 來做個基本測試:
suse:~ # testparm
:略
Loaded services file OK.
Server role : ROLE_STANDALONE
Press enter to see a dump of your service definitions ← 按下 Enter 鍵來繼續。
# Global parameters
netbios name = SUSE
server string = Samba Server
security = SHARE
map to guest = Bad User
username map = /etc/samba/smbusers
:略
comment = Share Directory
path = /tmp/sharedir
read only = No
guest ok = Yes
# 假使 smb.conf 裡的設定參數設定有誤,則在使用 testparm 去測試時,會有錯誤訊息。
# 您可做個實驗,故意把 區段中的writable 寫成 write,接著再執行 testparm 時
# 就會看到如下的訊息:
# Unknown parameter encountered: "write"
# Ignoring unknown parameter "write"
再來可檢查相關程式的執行狀態:
suse:~ # netstat -anp | egrep ':137|:138|:139|:445'
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 8245/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 8245/smbd
udp 0 0 192.168.1.111:137 0.0.0.0:* 8258/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 8258/nmbd
udp 0 0 192.168.1.111:138 0.0.0.0:* 8258/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 8258/nmbd
suse:~ # ps aux | grep mbd
root 8245 0.0 1.1 8860 3008 ? Ss 16:46 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf
root 8246 0.0 1.1 8860 2960 ? S 16:46 0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf
root 8258 0.0 0.7 5804 1960 ? Ss 16:46 0:00 /usr/sbin/nmbd -D -s /etc/samba/smb.conf
http://www.suse.url.tw/picture/1775.gif Client 端測試
回到 Windows 2000 主機,然後打開網路芳鄰,此時應該可以找到 suse 這台主機噢:
http://www.suse.url.tw/picture/samba1.png 對著 Suse 的 icon 點選進去,就可以看到 SAMBA 所分享的目錄:
http://www.suse.url.tw/picture/samba2.png 再從 點選進入,並嘗試新增一個資料夾:
http://www.suse.url.tw/picture/samba3.png 瞧,已經成功建立起 testdir 了:
http://www.suse.url.tw/picture/samba4.png 謝謝分享 頂你一下,好帖要頂! 初來乍到,請多多關照。。。
頁:
[1]