woff 發表於 2009-10-2 12:34:02

設定 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

1897052666 發表於 2013-11-9 01:03:17

謝謝分享

872007024 發表於 2013-11-9 01:03:17

頂你一下,好帖要頂!

872007024 發表於 2013-11-9 01:03:17

初來乍到,請多多關照。。。
頁: [1]
查看完整版本: 設定 smb.conf (不需認證)