61
COSA-SOP-2003-005 Version 1.00 資源分享伺服器 資源分享伺服器 資源分享伺服器 資源分享伺服器(Samba) 架設標準作業程序書 架設標準作業程序書 架設標準作業程序書 架設標準作業程序書 Samba Server Standard Operation Procedure 中華民國開放系統協會 CHINESE OPEN SYSTEMS ASSOCIATION

資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

COSA-SOP-2003-005

Version 1.00

資源分享伺服器資源分享伺服器資源分享伺服器資源分享伺服器(Samba) 架設標準作業程序書架設標準作業程序書架設標準作業程序書架設標準作業程序書

Samba Server

Standard Operation Procedure

中華民國開放系統協會

CHINESE OPEN SYSTEMS ASSOCIATION

中 華 民 國 九 十 二 年 十 月

Page 2: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

1

目 錄

第一章 Samba 的簡介 ..................................................................................... 3

1.1 發行單位 ............................................................................................ 3

1.2 目的及範圍(Purpose & Scope) .......................................................... 3

1.3 適用對象(Audience)........................................................................... 3

1.4 文件的編排(Document Organization)................................................. 3

1.5 Samba 的歷史源由 ............................................................................. 3

1.6 Samba 的版本(Version)...................................................................... 4

1.7 Samba 和 Windows 檔案系統、列印伺服器相關功能之比較說明 ....... 4

第二章 前置需求.............................................................................................. 5

第三章 Samba 的安裝 ..................................................................................... 6

3.1 從 Webmin 來安裝 Samba 軟體程式 ................................................ 6

3.1.1 安裝 Samba 軟體共通的部分(Samba common)....................... 6

3.1.2 安裝 Samba 軟體伺服器部分 ................................................... 7

3.1.3 安裝 Samba 軟體用戶端部分 ................................................... 9

3.1.4 檢驗 Samba 軟體套件的安裝 ................................................. 10

3.2 使用 RedHat 工具安裝 Samba........................................................ 11

3.3 手動使用指令行安裝 ......................................................................... 13

3.4 其他的安裝方式 ................................................................................ 14

第四章 Samba 的設定 ................................................................................... 16

4.1 Samba 的啟動(Startup) .................................................................... 16

4.1.1 使用 Webmin 啟動 Samba 服務 ............................................. 16

4.1.2 RedHat 圖形化介面啟動 Samba............................................ 18

4.1.2 使用 RedHat 的 setup 啟動 Samba........................................ 18

4.1.3 RedHat 命令行啟動 Samba ................................................... 19

4.2 使用 Webmin 管理 Samba 服務 ...................................................... 20

4.2.1 進入 Webmin ......................................................................... 20

4.2.2 Samba 的啟動設定(Setup) ..................................................... 21

4.2.3 Samba 使用者的設定和轉換................................................... 22

4.3 Samba 服務的新增和修改設定 ........................................................ 23

第五章 實用範例............................................................................................ 26

5.1 在 Linux 用戶端使用 Webmin 來掛載檔案服務................................. 26

5.1.1 在 Linux 主機上使用 Webmin 來掛載檔案服務...................... 26

5.2 在 Linux 用戶端使用終端機介面來掛載檔案服務.............................. 30

5.2.1 使用 smbclient 來連線........................................................... 30

5.2.2 使用系統 mount 指令來掛載 .................................................. 32

5.2.3 使用系統 smbmount 指令來掛載............................................ 32

Page 3: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

2

5.3 從 Windows 上掛載 Samba 伺服器的檔案系統 ................................ 33

5.3.1 使用圖形化的介面.................................................................. 33

5.3.2 使用命令行來登入.................................................................. 34

5.4 Samba 印表機的使用........................................................................ 35

5.4.1 Samba 伺服器上的印表機設定 ............................................... 35

5.4.2 從 Windows 主機上使用印表機 .............................................. 36

5.4.3 Windows 主機上印表機的增設................................................ 37

5.4.4 從 Windows 用戶端使用 Samba 伺服器上的印表機 ............... 39

5.4.5 從 Samba 用戶端使用 Samba 伺服器上的印表機 .................. 39

第六章 維護及更新程序................................................................................. 43

6.1 日常維護 .......................................................................................... 43

6.2 使用者檔案服務的配額(quota) ......................................................... 45

6.3 更新程序 ........................................................................................... 45

6.4 備份重要檔案 .................................................................................... 45

第七章 常見的問題和除錯 ............................................................................. 47

第八章 參考資料............................................................................................ 49

8.1 網站參考資料 ................................................................................... 49

8.2 書本參考資料 ................................................................................... 49

8.3 相關的 Microsoft 更新參考資料 ....................................................... 52

附錄 A 其他參考資料 ................................................................................... 53

A.1 Samba 3.0.0 版本的較詳細功能說明 ............................................... 53

A.2 Samba 的使用方法論(Methodology) ............................................... 54

A.3 Samba 的術語(Terminology)............................................................ 55

A.4 Samba 的詳細除錯步驟................................................................... 55

Page 4: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

3

第一章第一章第一章第一章 Samba 的簡介的簡介的簡介的簡介

1.1 發行單位

中華民國開放系統協會

CHINESE OPEN SYSTEMS ASSOCIATION

1.2 目的及範圍(Purpose & Scope)

本 SOP 的目的在提供一種在 Linux 主機上以 Samba 為基礎的透通環境,使的

和用戶舊有的 Windows 主機之間,彼此檔案的共用和印表機的共享變成非常的

方便。而且因為是執行 Linux 的作業系統,可以使得整個的操作環境變的更為安

全。本 SOP 雖然談的是 Samba,但是是以 RedHat Linux 9 為基礎,而且是以

其所內含的 2.2.7 版本的 Samba 當作範例,提供一個終端用戶非常容易上手的

介紹。

1.3 適用對象(Audience)

本 SOP 的對象適合為系統管理者以及一般的使用者,欲在 RedHat Linux 9 的

主機上管理、設定 Samba 伺服器;亦或是在 Linux 主機或是 Windows 終端用

戶端使用 Samba 主機所提供的檔案伺服器和列印伺服器的功能。

1.4 文件的編排(Document Organization)

本 SOP 的章節分為下列幾章:

第一章為 Samba 的簡介說明;

第二章為 Samba 的前置需求;

第三章為 Samba 的安裝;

第四章為 Samba 的設定;

第五章為 Samba 的使用;

第六章為 Samba 的維護及更新程序;

第七章為 Samba 常見的問題和除錯;

第八章為 Samba 的參考資料;

附錄 A 為 Samba 的其他參考資料,包含 Samba3.0.0 版本的較詳細功能說明。

第三章到第五章大部分皆採用圖式操作步驟的模式進行,以方便一般入門者的使

用。第七章則有一步一步的程序以便能排除所有可能的 Samba 問題,此章節也

較適合對 Samba 詳細組合情形想進一步瞭解的使用者。

1.5 Samba 的歷史源由

Samba 的前身之一為 DCE/RPC 它的全名是 Distributed Computing

Page 5: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

4

Environment/Remote Procedure Call, 是蘊含在當時 Apollo/HP 所發展的軟體

叫作 NCS 1.0(Network Computing Architecture)上面,當時只能夠架構在 UDP

上面。當需要架構在 TCP 上面時,是由後來 Digital/HP 在當時它的網路產品

DECnet 3.0 上面所發展而成的,並發表在 The Open Group 上,一般叫

DEC/PRC。微軟不願意花少數金額取得 The Open Group 的版權,而自行發展

就叫作 MSRPC,這就是 SMB(Server Message Block)的前身。微軟 Windows

作業系統有關檔案共享的功能都是以 SMB 為基礎。

Samba就是在Linux和其他的作業系統上提供RPC/SMB 或是後來叫做的CIFS

協定的共享計畫或是軟體名稱。

1.6 Samba 的版本(Version)

本SOP是根據RedHat Linux 9所附的Samba版本 2.2.7.9為範例。 目前(2003

夏天)所有 2.2.x 的版本都是穩定的生產版本(production environment)。 最新

版本是 3.0.0可以由Samba官方網站 http://www.samba.org下載。Samba 3.0.0

的版本在 2003 年九月底正式發表,新的功能如動態目錄(Active Directory);更好

的列印支援;輕量目錄存取協定(LDAP)整合等等功能都在此新的版本中; 也提供

Unicode 的延伸技術支援,更詳細的 Samba 3.0.0 功能資料請參考附錄 A.1 有關

Samba 3.0.0 新功能的內容。。

1.7 Samba 和 Windows 檔案系統、列印伺服器相關功能之比較說明

Samba 提供非 Windows 作業系統主機,尤其是 UNIX 作業系統(Linux) 可以共

用 Windows 的檔案伺服器,列印伺服器等等的功能。

Samba 支援下列的不同作業系統:

AIX, Bull, Debian, IRIX, LSB, Mandrake, OSF, RedHat, SuSE, HP-UX, MVS,

NOVELL, SINIX, Solaris, VMS, …

此外 Samba 可以當作 WINS 伺服器,完全取代 Windows 主機。

本 Samba SOP 主要談論 Samba 檔案系統、列印伺服器的功能,範例也是以這

兩種為準。

Page 6: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

5

第二章第二章第二章第二章 前置需求前置需求前置需求前置需求

Samba 基本上是以微軟視窗的協定(Protocol)共享檔案系統和印表機,如果不需

要用到微軟規格的地方就不需要使用 Samba。譬如:如果所有的系統都是 Linux

或是 UNIX 系統,那麼 UNIX 系統標準支援的規格,已經可以完成所需要的功能。

檔案系統共享使用 NFS(Network File System),印表機共享使用 Linux/UNIX 系

統蘊含的 BSD 或是 SYSTEM V 列印功能,即可共用印表機。

在安裝或是設定 Samba 時,當然需要使用超級使用者(super user)的權限來安

裝、設定。

可以從 RedHat Linux 9 光碟片來安裝 Samba 的套件,或是如果要安裝的電腦有

Internet 連線的話,可以從 Samba 網站下載 Samba 套件來安裝。

以 RedHat Linux 9 所內含的 V2.2.7a Samba 為例,所需的硬碟空間不大,只需

10 幾 MB 的空間。

如果用 Webmin 安裝。因為 Webmin 是網路瀏覽器的介面,也當然需要使用網

路瀏覽器(例如 Mozilla 等等)。如果執行 Webmin 的電腦就是要安裝、設定的

目標電腦,那可以不需要網路連線,但是 X-windows 的介面是必須的。

如果要執行 Webmin 的電腦和要安裝、設定的目標電腦不是同一部電腦,那一

定需要網路連線先設定好可以連通。使用網路瀏覽器連接到 Webmin 的主機時,

還需要知道 Webmin 設定的連接埠(port number)和 Webmin 管理者名稱及密

碼。這部分的 Webmin 管理者名稱及密碼和系統的超級使用者(super user)是不

一樣的。此時執行網路瀏覽器的主機就可以是 Linux/UNIX 或是 Windows 的主

機。

RedHat Linux 9 的 Samba 套件主要有三個部分。分別是

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

Samba 主機可以分成伺服器或是用戶端(Client),顧名思義上述

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的動作。

Page 7: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

6

第三章第三章第三章第三章 Samba 的安裝的安裝的安裝的安裝

3.1 從 Webmin 來安裝 Samba 軟體程式

在 RedHat Linux 9 相關的 Samba 軟體程式包(rpm package)是放在第一片CD

光碟片中,放光碟片到光碟機中,Linux 會自動將光碟檔案系統掛載上(Auto

Mount)。如果沒有自動掛載上可以手動連接,如用

# mount /mnt/cdrom

的指令。或是參考 Linux OS SOP 部分將檔案連接設為自動啟動。

使用網路瀏覽器(如 Mozilla 等)連接到 Samba 主機後,使用管理者 admin 登

入到 Webmin 的管理程式(Webmin 的設定和使用也請參考 Linux OS SOP 部分

有關 Webmin 的部分),可以進入下列的畫面:

圖 3-1 Webmin 登入後的畫面

3.1.1 安裝 Samba 軟體共通的部分(Samba common)

進入 Webmin 畫面後,選擇左上角“系統” 的按鍵,再選擇”軟體套件”進入軟體的

安裝畫面。

瀏覽到 /mnt/cdrom/RedHat/RPMS/samba-common-2.2.7a-7.9.0 檔案如下列

圖 3-2 所示:

Page 8: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

7

圖 3-2 Samba 軟體共通部分的安裝

依序選擇,則可完成第一部份 Samba 共通軟體部分的安裝。

圖 3-3 Samba 軟體共通部分的安裝完成

3.1.2 安裝 Samba 軟體伺服器部分

回復到前述軟體安裝的部分,瀏覽到

Page 9: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

8

/mnt/cdrom/RedHat/RPMS/samba-2.2.7a-7.9.0.i386.rpm 檔案如下列圖 3-4

所示:

圖 3-4 Samba 軟體伺服器部分的安裝

依序選擇,則可完成第二部份 Samba 伺服器部分軟體的安裝。

圖 3-5 Samba 軟體伺服器部分的安裝完成

Page 10: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

9

3.1.3 安裝 Samba 軟體用戶端部分

回復到前述軟體安裝的部分,瀏覽到

/mnt/cdrom/RedHat/RPMS/samba-client-2.2.7a-7.9.0.i386.rpm 檔案如下列圖

3-6 所示:

圖 3-6 Samba 軟體用戶端部分的安裝

依序選擇,則可完成第三部份 Samba 用戶端軟體的安裝。

圖 3-7 Samba 軟體用戶端部分的安裝完成

Page 11: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

10

3.1.4 檢驗 Samba 軟體套件的安裝

此外也可以透過 Webmin 來檢驗該安裝的 Samba 軟體套件是否正確的安裝,當

進入 Webmin 畫面後,選擇左上角“系統” 的按鍵,再選擇”軟體套件”後可以見到

如下面圖 3-8 所示的畫面:

圖 3-8 檢驗搜尋 Samba 安裝的軟體

在搜尋套件的選項輸入”samba” 後再開始,可以過濾出有 samba 字眼的系統以

安裝的軟體套件。下面圖 3-9 為 Samba 完整套件以安裝的情形。

圖 3-9 已安裝的 Samba 軟體套件

Page 12: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

11

3.2 使用 RedHat 工具安裝 Samba

將 RedHat Linux 9 第一片CD光碟片中,放到光碟機中,Linux 系統會自動將光

碟檔案系統掛載上(Auto Mount)。如果沒有自動掛載上可以手動連接,如用

# mount /mnt/cdrom

的指令。或是參考 Linux OS SOP 部分將檔案連接設為自動啟動。或是手動執行

/mnt/cdrom/autorun 程式。

圖 3-10 RedHat 自動執行

開始執行後會顯示下列的過程:

圖 3-11 RedHat 安裝套件

按 Forward 鍵後,系統即開始檢查目前系統以安裝的軟體套件,訊息如下:

Page 13: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

12

圖 3-12 系統檢查安裝套件

完成後可以顯示目前系統已安裝的軟體套件,訊息如下:

圖 3-13 已安裝的套件

選擇 windows 檔案伺服器, 按更新後即可完成 Samba 所需軟體套件的安裝。

Page 14: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

13

3.3 手動使用指令行安裝

將 RedHat Linux 9 第一片CD光碟片放到光碟機中 Linux 系統會自動將光碟檔

案系統掛載上(Auto Mount)。如果沒有自動掛載上可以手動掛載,可用

# mount /mnt/cdrom

的指令。或是參考 Linux OS SOP 部分將檔案連接設為自動啟動。

進入 Samba 套件所在的目(cd /mnt/cdrom/RedHat/RPMS)

選擇下列套件安裝

samba-2.2.7a-7.9.0

samba-common-2.2.7a-7.9.0

redhat-config-samba-1.0.4-1

samba-client-2.2.7a-7.9.0

使用 rpm –Uv ` ls *samba*` 即可完成 Samba 套件的安裝。

圖 3-14 Samba 指令行安裝

Page 15: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

14

3.4 其他的安裝方式

也可以使用 RedHat 的安裝設定工具來安裝,此部分的步驟和前述 3.3 章節類

似;將 RedHat Linux 9 第一片CD光碟片放到光碟機中 Linux 系統會自動將光

碟檔案系統掛載上(Auto Mount)。如果沒有自動掛載上可以手動連接,可用

# mount /mnt/cdrom

的指令來掛載。或是在系統的選擇面板上的選擇 『主選單按鈕』 => 『系統設

定』 => 『新增/移除應用程式』,亦或在 shell 提示符號下輸入

redhat-config-packages 指令;再點選到前面章節所敘述的 Samba 套件。

圖 3-15 RedHat Configuration tools 安裝

選擇”伺服器”後,再選擇”redhat-config-samba”套件,則所有的 Samba 套件會

被選擇到,點選”更新”後依序可以完成安裝的動作。

Page 16: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

15

圖 3-16 RedHat Configuration tools 的自動安裝安裝

依圖式,可以輕易完成安裝的工作。

不論在 KDE 或是 GNOME 的操作環境下 Samba 套件的安裝都可以如本章節所

示的方法安裝。

Page 17: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

16

第四章第四章第四章第四章 Samba 的設定的設定的設定的設定

4.1 Samba 的啟動(Startup)

4.1.1 使用 Webmin 啟動 Samba 服務

也可以使用在 Samba 伺服器上使用 Webmin 來設定 Samba 的服務在系統開機

後自動啟動與否。在 Webmin 登入以後,選擇”系統”的選項後,再選擇”開

機與關機”的選項如下面 圖 4-1 所示:

圖 4-1 Webmin 啟動 後選擇開機與關機服務

此時點選” 開機與關機”阿選項以後,可以見到如下面 圖 4-2 所示的畫面:

這時候所見到的是此 Samba 伺服主機上的所有系統服務的目前情形,可以啟動

或是關掉亦或是重新啟動。也包含可以執行系統關機或是重新開機的功能。

本圖例專注在 Samba 相關的服務如何永久設定。

Page 18: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

17

圖 4-2 開機與關機服務畫面

上下移動滑鼠,可以見到目前 smb 服務的狀況。點選”smb”的選項後,可以

見到下面 圖 4-3 的圖式:

圖 4-3 smb 服務的設定

點選開機時啟動為”是”後,在選擇”儲存”,如此 Samba 自動啟動的服務設

定就完成了。也可以立刻啟動 Samba 的服務。

Page 19: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

18

4.1.2 RedHat 圖形化介面啟動 Samba

在 Samba 主機上選擇 => 系統設定 => 伺服器 => 服務 => smb 後, 可以見

到下面 圖 4-4 的圖式:

圖 4-4 RedHat 啟動 Samba 服務

選擇 “重新啟動”後可以執行 Samba 的常駐程式(smbd 和 nmbd),如上

面 圖 4-4 所示。再選擇“檔案”,再儲存回去,下一次 UNIX 主機重新開機後

Samba 的常駐程式就可以自動執行。

4.1.2 使用 RedHat 的 setup 啟動 Samba

在 Samba 的 UNIX 主機上啟動命令行視窗(如 xterm 等)的 shell 提示下,執

行 setup 指令,如下面 圖 4-5 所示:

圖 4-5 命令行執行 setup 指令

Page 20: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

19

再選擇啟動 smb 的服務,如下面 圖 4-6 所示:

圖 4-6 選擇 smb 啟動服務

如此,Samba 的常駐程式就可以自動執行。

4.1.3 RedHat 命令行啟動 Samba

在 Samba 的 UNIX 主機上啟動命令行視窗(如 xterm 等)的 shell 提示下,可

以執行

- service smb status

- service smb start

- service smb stop

- /sbin/chkconfig –level 345 smb on

等指令。status 是觀看目前 Samba 常駐程式的狀態;start 是啟動常駐程式;

stop 是停止常駐程式;chkconfig 指令則是設定作業系統在不同的層級時,

Samba 常駐程式是否自動啟動。下面 圖 4-7 則是系統目前 Samba 程式的狀態

情形。

圖 4-7 Samba 程式的狀態

Page 21: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

20

4.2 使用 Webmin 管理 Samba 服務

4.2.1 進入 Webmin

從 Webmin 畫面登入後,選擇“伺服器”後,再選擇 ”Samba 視窗檔案分

享”,可以進入下面 圖 4-8 的畫面:

圖 4-8 進入 Samba 視窗檔案分享之畫面

如果這時候 Samba 服務還沒有啟動,則可以選擇選擇”啟動 Samba 服務“後

可以啟動所設定的 Samba 服務。如果完成前面 4.1.3 章節的設定則 Samba 服務

已經自動啟動了。Samba 服務還沒有啟動的畫面如下面 圖 4-9 所示:

Page 22: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

21

圖 4-9 Samba 服務還沒有啟動的畫面

當 Samba 服務啟動後部分的畫面如下面 圖 4-10 所示:

我們可以開始設定使用者和各項設定的資料。

圖 4-10 Webmin 進入 Samba 的啟動畫面

4.2.2 Samba 的啟動設定(Setup)

啟動 Samba 服務以後可以見到下面圖 4-11 的畫面,可上下移動找到設定的部

分。

Page 23: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

22

圖 4-11 Samba 服務啟動後的畫面

這時候可以注意到,系統上有兩樣預設的服務可以共用:

homes 所有使用者根目錄

printers 所有印表機

而且允許已知使用者可以讀寫其根目錄;可以列印到所有的印表機。

注意上面兩種服務的安全等級設定為:所有的使用者。所以在下面的章節我們繼

續討論如何設定使用者。

致於對 homes 服務的使用在第五章會有詳細的討論,而對 printers 服務的使用

在第六章則會有詳細的說明。

4.2.3 Samba 使用者的設定和轉換

選擇” 轉換 Unix 使用者到 Samba 使用者”可以進入下列圖 4-12 的畫面:

圖 4-12 使用者帳號轉換

當 Samba 是使用加密密碼時,Samba 有它自己的密碼檔案,而不是系統使用者

的清單。此部分是 RedHat Samba 的預設值。

轉換使用者密碼時可以有多樣選擇:

Page 24: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

23

不要轉換或是刪除特定的使用者;

從 UNIX 使用者更新 Samba 使用者清單;

從 UNIX 使用者清單中新增到 Samba 使用者清單;

刪除在 UNIX 中不存在的 Samba 使用者。

由上面圖式,對於新增的使用者,密碼可以設定為

沒有密碼

鎖定密碼

使用新的密碼

這部分必須適當的選擇,否則該使用者的密碼可能會產生不一致的情形。

當然也可以同時設定 Samba 的密碼。設定密碼的畫面如下面 圖 4-13 所示:

圖 4-13 密碼設定的畫面

4.3 Samba 服務的新增和修改設定

Samba 有兩個預設服務:homes 和 printers

homes 允許每一個依Samba密碼檔所設定的使用者可以登入到每一個UNIX使

用者的根目錄。printers 的服務則允許已經設定好 UNIX 印表機的系統可以共享

列印服務。

在圖 4-14, 4-15 的畫面下可以設定 Samba 的多項服務:可以新增檔案共用;新

增印表機共用;新增複製;和查看所有的連線。

Page 25: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

24

此部分的SOP就以新增檔案共用為範例。選擇新增檔案共用後進入下面 圖4-14

所示的內容:

圖 4-14 新增檔案共用

可以鍵入共用名稱;共用的根目錄;可使用;可瀏覽;以及共用註解。按建立可

以輕易的建立 Samba 新的服務。

圖 4-15 新增的檔案共用

Page 26: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

25

選擇此服務後可以設定改變各項不同的參數設定。這些參數包含檔案允許權限;

誰可以使用或是瀏覽;當然共用名稱共用目錄都可以更換。

可以按儲存;刪除;或是查看所有的連線 來觀看此服務的各項狀況。

Page 27: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

26

第五章第五章第五章第五章 實用範例實用範例實用範例實用範例

本章節敘述 Samba 伺服器設定啟動完成後,如何把 Samba 主機當作檔案伺服

器來使用,以及當作印表機伺服器。

5.1 在 Linux 用戶端使用 Webmin 來掛載檔案服務

由於 Webmin 主要的目的就是在系統的管理,可以使用 Webmin 來掛載 Samba

伺服器上的各項分享資源,本章節的目的就是嘗試以 Webmin 為工具來掛載

Samba 所提供的檔案服務。

5.1.1 在 Linux 主機上使用 Webmin 來掛載檔案服務

本節的 Linux 主機可以是用戶端常駐程式啟動的 Samba 伺服器或是純脆的

Samba 用戶端主機。

從 Webmin 登入以後,選擇”系統”的選項後,再選擇”檔案與網路檔案系統”

的選項如下列圖 5-1 及圖 5-2 所示:

圖 5-1 Webmin 登入選擇系統之畫面

Page 28: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

27

圖 5-2 檔案與網路檔案系統畫面

選擇增加掛載的類別為”Windows Networking Filesystem(samba)”,如上面圖

5-2 所示。點選”增加掛載”後,可以進入設定欲掛載的 Samba 檔案系統之詳

細資料,如下面圖 5-3 所示:

圖 5-3 smbfs 檔案系統詳細資料設定之畫面

Page 29: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

28

本例設定掛載點為 “/mnt/samba-mount”;伺服器名稱為”RH90-SRV”;分享

名稱為”homes”;記得在此建立掛載的圖式下,必須在進階掛點選項內設定欲

登入的”登入名稱”和”登入密碼”;本例為“ root”和其密碼。否則沒有設定

登入名稱,是沒有預設的使用者,也就是沒辦法登入使用。

點選“伺服器名稱”後會將所有看的到的 Samba 伺服器名稱選示出來,本例可

見到 RH90-SRV 和 ZEUS 兩台 Samba 伺服器名稱,如下面 圖 5-4 所示:

圖 5-4 選擇 Samba 伺服器名稱

選定 RH90-SRV 伺服器名稱後,可以點選”分享名稱”,如下面 圖 5-5 所示:

圖 5-5 RH90-SRV 分享名稱

注意上面圖 5-5 僅選示出我們後來加入的”sambafs” 分享,系統預設的”homes”

分享並沒有選示出來。

詳細的設定掛載點選項如下面 圖 5-6 所示:

當然也可以設定是否儲存掛載,以便在下次開機時可以自動掛載上來。

也可以馬上執行掛載的動作。或是設定唯讀等等的選項。

Page 30: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

29

圖 5-6 建立掛載的圖式

點選”建立”後,如果 Samba 伺服器的服務正常;點選的服務和登入名稱、密

碼等等都正確,那系統會將所有的檔案系統選示出來。剛剛新增加的 sambafs

掛點也會包含在內。請參考下面 圖 5-7 所示:

圖 5-7 建立 sambafs 掛載後的圖式

如果是由不同的 Samba 用戶端來掛載,可以見到如下面 圖 5-8 所示:

Page 31: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

30

圖 5-8 UNIX Samba Client 建立掛載後的圖式

5.2 在 Linux 用戶端使用終端機介面來掛載檔案服務

本節的 Linux 用戶端主機可以是用戶端常駐程式啟動的Samba伺服器或是純脆

的 Samba 用戶端主機。因為其使用是一樣的,因此在這裡一起說明。

5.2.1 使用 smbclient 來連線

在 Samba 用戶端可以使用 smbclient 來連接到 Samba 伺服器,可以確定 Samba

的連線和服務是否正常,在 smbclient 掛載下可以使用類似 ftp 的方式在伺服器

和用戶端作檔案傳輸的連線。如下列 圖 5-7 所示,執行”smbclient

//rh90-srv/homes”來連接到 Samba 伺服主機”rh90-srv”上的”homes”服務。

Page 32: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

31

圖 5-9 smbclient 指令的執行

如下面 圖 5-10 所示,smbclient 有“-L” 指令可以監看 Samba 服務的狀態。

在圖 5-10 內可以見到

圖 5-10 smbclient –L 分享服務的監看

Page 33: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

32

5.2.2 使用系統 mount 指令來掛載

系統的 mount 指令選擇 smbfs 類型的檔案系統時,也可以用來掛載 Samba 的

檔案系統 到本地來,請參考下面 圖 5-11 的內容:

圖 5-11 系統 mount 指令

5.2.3 使用系統 smbmount 指令來掛載

此外 smbmount 指令也可以直接掛載到 Samba 伺服器上的檔案系統,請參考下

面 圖 5-12 所示:

Page 34: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

33

圖 5-12 使用 smbmout 指令

5.3 從 Windows 上掛載 Samba 伺服器的檔案系統

5.3.1 使用圖形化的介面

在 Windows 上開檔案總管,選擇”工具”,選擇”連線到網路磁碟機”後如下

面 圖 5-11 所示,可以選擇要連接的磁碟機名稱(圖 5-13 為 G: 磁碟),可以

選擇資料夾的名稱。此資料夾就是 Samba 伺服器上所可以連接的服務名稱。(圖

5-13 為 rh90-srv 的伺服器主機,和 homes 的服務,homes 的服務是連線到在

Samba 主機上該使用者的根目錄)

圖 5-13 檔案連接到 Samba 主機

此時可以選擇不同的使用者來登入(預設登入到 Samba 伺服器的使用者和他的

密碼是和登入到 Windows 主機的使用者一模一樣的)。如下面 圖 5-14 所示:

圖 5-14 選擇不同的使用者登入

Page 35: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

34

成功登入後就可以使用剛剛設定的 G: 磁碟機。如下面 圖 5-15 所示:

圖 5-15 成功網路磁碟機登入

5.3.2 使用命令行來登入

可以使用 net use 的指令來直接登入到 Windows 伺服器,下面 圖 5-16 所示的

是連接到 15.27.23.41 的主機(或是我們在其他例子所使用的 rh90-srv 當作

Samba 伺服器的名稱),選擇到 homes 的服務(和前面 5.3.1 一樣 homes 的

服務是連線到該使用者在 Samba 主機上的根目錄),此時也可以在命令行上用

/user 的選項選擇登入使用不同的使用者名稱。本圖例是使用 root 登入,

password 為登入的密碼。如此執行成功後,就相當於在 Windows 主機上有一

G:磁碟一樣。

Page 36: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

35

圖 5-16 命令行登入到 Samba 主機

5.4 Samba 印表機的使用

5.4.1 Samba 伺服器上的印表機設定

在 RedHat Linux 9 系統上的 Samba 軟體套件,當服務常駐程式(service

daemon)啟動後已經可以允許所有可以連接到 Samba 主機上的使用者可以使

用此 Samba 主機上目前已經有設定的印表機(亦即在 RedHat Linux 9 的

Samba V.2.2.7 預設值為所有印表機是啟動的)。請先參考第四章有關 Samba

伺服器的設定以便啟動 Samba 的常駐程式。此部分如圖 4-9 以及下列圖 5-17

所示。

Page 37: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

36

圖 5-17 Samba 服務啟動後的管理主畫面

當然也可以透過 Webmin 管理來加入新的印表機服務。

要啟動和使用 Samba 印表機的功能,由一個先決條件,即是假設一個 Linux 主

機已經可以使用和列印的印表機管理列印軟體已經安裝完成了。亦即必須 Linux

的 lpr 程式已經可以正常列印資料到指定的印表機。本 SOP 假設 Samba 伺服

器本身已經有一預設的印表機為 lj4100.

本 SOP 並沒有特別談論到怎麼設定本地的印表機,如果要設定本地印表機請參

考 Linux 安裝的 SOP,或是用 setup, redhat-config-printer 等指令在 RedHat

Linux 主機上設定。

5.4.2 從 Windows 主機上使用印表機

其實當 Samba 伺服器正常啟動印表機的服務後,在 Windows 用戶端就好像在

網路上有一台列印伺服器一樣。此時在用戶端需要的是一個正常可以登入的帳號

來連接到 Samba 主機。

Windows 印表機是假設在 PC 上登入的使用者在 Samba 主機上有登入和使用

的權限。而且在 Windows 和 Samba 主機這個使用者有相同的名字(user name)

和密碼(pasword)。如果使用者名字和密碼不一致,那印表機的功能就不能自

Page 38: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

37

動登入使用。

如果在 Windows 上印表機的驅動程式還沒有安裝時,這個使用者必須有

adminstrator 的權限,才能在 Windows 用戶端安裝所需要的驅動程式。

5.4.3 Windows 主機上印表機的增設

從 Windows 主機上選擇”設定”,”印表機”後,點選 ”新增印表機”,有

如下 圖 5-18 的圖式:

圖 5-18 Windows 上新增印表機

選擇新增印表機為網路印表機,如下列 圖 5-19 所示:

Page 39: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

38

圖 5-19 Windows 上新增網路印表機

鍵入 Samba 伺服器的名稱和印表機的名稱,如下列圖 5-20 所示:

圖 5-20 鍵入 Samba 伺服器和印表機名稱

如果印表機的驅動程式還沒有安裝會由下列 圖 5-21 的詢問出現:

Page 40: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

39

圖 5-21 詢問安裝印表機的驅動程式

選擇 OK 時可以開始安裝印表機驅動程式,這使可以選擇該印表機的製造商和

印表機的名稱。如下列 圖 5-22 所示:

圖 5-22 選擇適當的印表機

當然如果 Windows 所列出來的印表機名稱和你所連接的印表機不一樣,這時候

可以選擇從磁片或是從硬碟的檔案安裝。

5.4.4 從 Windows 用戶端使用 Samba 伺服器上的印表機

設定完上述5.4.2 和5.4.3章節後,這個Samba主機上的印表機其實和Windows

用戶主機本地的印表機或是其他 WINDOS 主機上的網路印表機已經完全一模一

樣,可以很方便的使用。

5.4.5 從 Samba 用戶端使用 Samba 伺服器上的印表機

本節的 Samba 用戶端主機使和 Samba 伺服器主機不同的主機。

在此 Samba 用戶端主機上 Webmin 登入以後,選擇”硬體”的選項後,再選

擇”印表機管理”,可以見到下面 圖 5-23 所示的內容:

Page 41: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

40

圖 5-23 印表機管理者

上面的圖例表示該主機還沒有安裝任何的印表機。我們可選擇”增加一個新的印

表機”,之後有下面 圖 5-24 的內容:

圖 5-24 新增印表機的畫面

Page 42: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

41

在上面 圖 5-24 內可以設定”遠端 Windows 伺服器” 的 Samba 伺服器名稱和

該印表機的名稱。上圖分別為”rh90-srv” 和”lj4100”.

點選上下的游標,可以見到如下面 圖 5-25 的畫面:

圖 5-25 新增印表機之驅動程式

這時候如果使用的印表機是 Postscript 或是文字印表機,就不用再選擇任何的

印表機驅動程式,否則必須依照所連接的印表機種類選擇適當的印表機驅動程

式。

再按”建立”,就可以如 圖 5-26 所示在 Samba Linux 用戶端建立在 Samba 伺服

器上的 Samba 印表機。

Page 43: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

42

圖 5-26 新增完成 Samba 印表機

Page 44: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

43

第六章第六章第六章第六章 維護維護維護維護及及及及更新程序更新程序更新程序更新程序

6.1 日常維護

管理 Samba 的人員須定期以 root 身份登入到 Samba 伺服器,看看記錄檔 Log

有無異常的情形。這些記錄檔一般放在 /var/log/samba 目錄底下。如下面

圖 6-1 所示,為 Samba 的紀錄的各項檔案。

圖 6-1 Samba 的紀錄檔案

其中 log.nmbd 和 log.smbd 是 Samba 的常駐服務程式 nmbd 和 smbd 啟動的

訊息。而 smbmount.log 是用戶端嘗試掛載 Samba 的檔案服務時的訊息。不同

的用戶端掛載本伺服器的訊息也會記錄在 client.log 檔案中(其中 client 是該用

戶端電腦的名稱)。

此外如果如我們前面第五章所使用的範例,將所有使用者的根目錄服務開放出來

(homes 服務)。這時就必須定期監看該使用者的根目錄的硬碟空間是否足夠;

必要時必須清理該硬碟空間或是要使用者自行將不用的檔案清除。可以用 df 指

令查看該檔案服務的磁碟容量,當接近 100%時就要清理。

如果有人員離職或不再使用此 Samba 服務,可以將該人員的帳號立即移除或是

暫時停權。

要將該人員的帳號暫時停權,可以從 Webmin 畫面登入後,選擇“伺服器”,

再選擇 ”Samba 視窗檔案分享”後可以見到如圖 4-10 Webmin 進入 Samba

的啟動畫面,此時在點選”編輯 Samba 使用者與密碼”,可以進入下面 圖 6-2 的

畫面。

Page 45: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

44

圖 6-2 Samba 的使用者清單

此時可點選要停權之人員的帳號名稱。本範例是點選 sonny 這個帳號。點選後

可以見到下面 圖 6-3 的該使用者的詳細設定圖示:

圖 6-3 編輯 Samba 的使用者 sonny

此時只要在使用者選項內點選”帳號停用”後,在選擇”儲存”後就可以將該帳號暫

時停用。

也可以透過上面的圖示來設定 sonny 這個使用者密碼的各項選項:

Page 46: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

45

6.2 使用者檔案服務的配額(quota)

一般 Samba 伺服器架設完成後,預設是沒有限制每個使用者的配額大小。如果

以前面 6.1 章節為例,如果是 homes 服務,這時候該使用者的配額大小與系統

開放使用者跟目錄的磁碟配額有密切和一樣的關係。該使用者的更目錄滿了時,

Samba 服務也不能再將資料寫入。有關於磁碟配額的設定,請參考 Linux OS

SOP。

6.3 更新程序

請參考 Linux OS SOP 第 5.4 節.

6.4 備份重要檔案

Samba 伺服器的組態檔放在 /etc/samba 的目錄底下。 如下面 圖 6-4 所示:

圖 6-4 Samba 的組態檔

其中 smb.conf 是最重要的組態檔案;而 smbpasswd 是儲存 Samba 使用者的

帳號資料;而 smbusers 是儲存Unix使用者和SMB 使用者的對映資料;lmhosts

則儲存使用 NetBIOS 時的主機(hosts)名稱。

可以將這幾個檔案備份起來,或是將整個目錄備份起來。如下面 圖 6-5 所示。

Page 47: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

46

圖 6-5 備份 Samba 的重要檔案

上面的圖示裡主要分兩種方式:

第一種是個別將重要的檔案複製一份到不同的檔案,用 cp 指令來完成。另外一

種就是用 tar 指令將所有的檔案一起存成 .tar 格式的檔案。

Page 48: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

47

第七章第七章第七章第七章 常見的問題和除錯常見的問題和除錯常見的問題和除錯常見的問題和除錯

Q1 Samba 是什麼?

Ans: Samba 是在 Linux和其他的作業系統上提供RPC/SMB/CIFS 協定的共

享功能的軟體名稱。

Q2 Samba 支不支援中文的檔案名?

Ans: 最新的 Samba 3.0.0 版本已經支援多位元組(Multi Bytes)和 Unicode

以及中文的檔名。致於 2.7.9 版本若要使用中文檔名必須做一些特別的更新和設

定,例如在 smb.conf 檔案中加入下述的內容:

[global]

# for Traditional Chinese Users

client code page=950

; coding system =cap

valid chars = 0xb9

詳細的設定可以參考 FreeBSD 有關如何中文化(Chinese HOWTO)文件中第

13.2 章節的說明。(http://freebsd.sinica.edu.tw/zh-tut/samba.html)

Q3 如何確定 Samba 已經安裝完成,而且服務已經啟動?

Ans: 在 RedHat Linux 9 主機上可以執行 “service smb status” 來查看。如

果沒有安裝完成可以由 RedHat Linux 9 的第一片光碟片安裝。

或是由 Samba 的官方網站(http://www.samba.org)下載安裝。

如果 Samba 的服務沒有啟動,可以參考第四章用 Webmin 來啟動設定;或是

用”setup”指令來啟動。

Q4 RedHat Linux 9 主機上已經有帳號,但是使用 Linux 的使用者帳號登入到

Samba 的服務時,一直出現密碼不正確的問題時?

Ans: 請確定有用 Webmin 將 UNIX 的使用者帳號轉換到 Samba 的帳號。而

且注意帳號轉換時選擇的是用 Linux 使用者的密碼當作 Samba 使用者的密碼;

或是密碼沒有設定;亦或是該帳號的密碼還沒有啟動。

Q5 Samba 的紀錄檔放在哪裡?

Ans: Samba 的紀錄檔案是放在/var/log/samba 目錄中。可以觀看 Samba 啟

動時是否正常。甚至可以啟動更詳細的紀錄以便於除錯之用。

Q6 如何確定 Samba 的設定檔 smb.conf 是正確的?

Ans: 執行 testparm 來檢驗。

Page 49: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

48

Q7 Samba 可否設定允許某幾部主機才可以使用 Samba 主機的服務?

Ans: 除了 RedHat Linux 主機系統的/etc/hosts.allow, /etc/hosts.deny 可以

設定所有的網路可允許或是不允許某幾部主機或網路連線到本伺服器外。

smb.conf 檔案內也可以用 hosts allow 或是 hosts deny 的參數來設定。可以

用 Webmin 或是手動來修改 smb.conf 檔案,再用 testparm 來檢驗。

Q8 Samba 有哪些常見的除錯的工具

Ans: Samba 本身有 非常完整的除錯工具。例如在 nmbd 選項中可以用 -d

的選項來設定除錯的層級。smbd, nmbd 和 smb.conf 的線上手冊有除錯的層級

的詳細資料。這些除錯的層級可以由1 (預設值) 到 10 (100 是密碼的除錯選項).

另外一種除錯的方式可以在 Samba 的編譯時使用 gcc -g 的旗號。此部分由於

必須重新編譯整個 Samba 執行檔,在本 SOP 內並不詳細敘述。

此外下列兩個 Samba 指令也可以作非常詳細的分析:

$ testparm | more

$ smbclient -L //{netbios name of server}

Q9 如何從 Samba 的郵件清單(mailing lists)得到協助

Ans: 進入 Samba 的主網站 http://samba.org 後點選最近的映射網站,點選

Support 後再進入 Samba related mailing lists 則可以進入Samba的郵件清

單。另外有關 Samba TNG 的問題可以到 http://www.samba-tng.org/ 網站瀏

覽。如果你要貼上你的問題在上述的郵件清單時必須遵守它的規定。此部分請參

考上述的網站資料,本 SOP 不再細述。

要將已登錄的使用者從 Samba 郵件清單中移除時,可以先進入

http://lists.samba.org 網站後,依照指示,輸入自己的郵件信箱後更改和移除。

Page 50: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

49

第八章第八章第八章第八章 參考資料參考資料參考資料參考資料

8.1 網站參考資料

1. Samba 官方網站

2. Implementing CIFS by Christopher R. Hertel

3. Just What Is SMB? by Richard Sharpe

4. Opening Windows Everywhere by Mike Warfield

5. SMB HOWTO by David Wood

6. SMB/CIFS by The Root by "ledin"

7. The Story of Samba by Christopher R. Hertel

8. The Unofficial Samba HOWTO by David Lechnyr

9. Understanding the Network Neighborhood by Christopher R. Hertel

10. Using Samba as a PDC by Andrew Bartlett

11. PDF version of the Troubleshooting Techniques chapter from the

second edition of Sam's Teach Yourself Samba in 24 Hours (publishing

date of Dec. 12, 2001)

12. Slide presentations by Samba Team members

13. Introduction to Samba 3.0 by Motonobu Takahashi (written in

Japanese).

14. Understanding the Network Neighborhood, by team member Chris

Hertel. This article appeared in the May 2001 issue of Linux Magazine.

15. Samba 2.0.x Troubleshooting guide from Paul Green

16. Ten Years of Samba

17. Samba Authenticated Gateway HOWTO

18. An Introduction to Samba

19. What is CIFS?

20. WFWG: Password Caching and How It Affects LAN Manager Security

at Microsoft Knowledge Base

21. RedHat Linux 9 中文用戶自訂手冊,有關 Samba 設定的部分

8.2 書本參考資料

2003

Implementing CIFS - The Common Internet FileSystem, 作者:Christopher R.

Hertel, ISBN 0-13-047116-X. 由 Prentice-Hall PTR 於西元 2003 年 8 月出版。

語言: 希臘文

Samba Pocket Reference, Second Edition, 作者:Jay Ts, Robert Eckstein 和

Page 51: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

50

David Collier-Brown, 由 O'Reilly & Associates 於西元 2003 年 5 月出版, ISBN

0-596-00546-6

語言:英文

Samba für Unix/Linux-Administratoren, 作者:Volker Lendecke, ISBN

3-89864-193-7, 由 dpunkt Verlag 於西元 2003 年 3 月出版。

Language: 德文

Using Samba, 2nd ed., 作者:Jay Ts, Robert Eckstein 和 David Collier-Brown,

由O'Reilly & Associates於西元 2003年 2月出版。 ISBN 0-596-00256-4. HTML

的版本也包含在 Samba 網站中。

語言:英文

2002

Open Source, ISBN 84-415-1388-0, 由 AnayaMultimedia 於西元 2002 年 7 月

出版。

語言:西班牙文

2001

SAMS Teach Yourself Samba in 24 Hours, 2nd Edition, 作者:Gerald Carter,

ISBN 0-67232-269-2, 由 MacMillan 於西元 2001 年 12 月出版。

語言:英文

Samba Essentials For Windows Administrators, 作者:Gary Wilson, ISBN

0130409421, 由 Pearson Professional Education 於西元 2001 年 8 月出版。

語言:英文

The Samba Book, 作者:Dr. Olaf Borkner-DelCarlo, ISBN 0-7645-4773-9, 由

M&T Books 於西元 2001 年 5 月出版。

語言:英文

Samba Guia de Consulta Rapida 作者:D�io Jr, ISBN 8585184949, 由

Novatec Editora 於西元 2001 年 1 月出版。

語言:葡萄牙文(巴西)

2000

Samba le guide de l'administrateur 作者:Ed Brooksbank, George

Haberberger, 和 Lisa Doyle, ISBN 2-7464-0153-3, 由 IDG Books 於西元 2000

年出版。(法文翻譯的 The Samba Administator's Handbook 版本)

語言:法文

Linux Samba Server Administration 作者:Rod Smith, ISBN 0782127401, 由

Sybex 於西元 2000 年 11 月出版。

語言:英文

Special Edition, Using Samba 作者: Richard Sharpe, Tim Potter 和 Jim

Morris, ISBN 0-78972-3190, 由 Que Education and Training 於西元 2000 年 7

Page 52: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

51

月出版。

語言:英文

Samba dla kazdego, 作者:Richard Sharpe, Tim Potter 和 Jim Morris, ISBN

83-7197-498-1, 由 Helion 於西元 2000 年 5 月出版。 (波蘭文的 Using Samba

翻譯版本)

語言:波蘭文

Samba Unleashed 作者:Steve Litt et al, ISBN 0-672-31862-8, 由 SAMS

Publishing 於西元 2000 年 5 月出版。

語言:英文

Samba Primer Plus 作者:Matt Gillard, ISBN 0-67231-932-2, 由 Waite Group

Press 於西元 2000 年 4 月出版。

語言:英文

Samba: Unix & NT Internetworking, 作者:James DeRoest, ISBN

0-07135-104-3, 由 McGraw-Hill 於西元 2000 年 1 月出版。

語言:英文

SAMBA—UNIX 與 NT 的溝通橋樑, 作者:James DeRoest, ISBN 957493263X, 是

上述 Samba: Unix & NT Internetworking 的中文譯本

語言:中文

Samba Black Book, ISBN 1-57610-455-9, 作者:Dominic Baines, Coriolis 於西

元 2000 年 1 月出版。

語言:英文

SAMBA 徹底研究,ISBN:9575272773, 上述 Samba Black Book 的中文譯本;

語言:中文

The Unix System Today, ISBN 1-85912-296-5, 由 The Open Group 與 VA

Linux Systems 於西元 2000 年 4 月聯合出版。(有一章專門敘述 Samba.)

語言:英文

1999

DCE/RPC over SMB: Samba and Windows NT Domain Internals, 作者:Luke

Kenneth Casson Leighton, ISBN 1578701503, 由 Macmillan Technical

Publishing 於西元 1999 年 12 月出版。

語言:英文

Samba Administrators Handbook, 作者:Ed Brooksbank, George Haberberger,

和 Lisa Doyle, ISBN 0-7645-4636-8, 由 IDG Books 於西元 1999 年 12 月出版。

語言:英文

Samba for Dummies 作者:Lisa A Doyle 和 George D Haberberger, ISBN

0764507125, 由 Hungry Minds 於西元 2000 年 9 月出版。

語言:英文、德文

Using Samba, 作者:Robert Eckstein, David Collier-Brown 和 Peter Kelly,

Page 53: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

52

ISBN 1-56592-449-5, 由 O'Reilly 於西元 1999 年 11 月出版。

語言:英文

Das Samba-Buch, 作者:Dr. Olaf Borkner-Delcarlo, ISBN 3-930419-93-9, 由

SuSE-Press 於西元 1999 年 10 月出版。

語言:英文

Samba 2.0 - Integration von Unix/Linux-Rechnern in Windows-Netzen, 作者:

Jens Kuhnel, ISBN 308266-0507-1, 由 MITP-Verlag GmbH 於西元 1999 年出

版。

語言:德文

1998

Samba, Integrating UNIX and Windows, 作者:John D Blair, ISBN

1-57831-006-7, 由 Specialized Systems Consultants 於西元 1998 年出版。

語言:英文

8.3 相關的 Microsoft 更新參考資料

Enhanced Encryption for Windows 95 Password Cache

Windows '95 File Sharing Updates

Windows for Workgroups Sharing Updates

Page 54: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

53

附錄附錄附錄附錄 A 其他參考資料其他參考資料其他參考資料其他參考資料

A.1 Samba 3.0.0 版本的較詳細功能說明

Samba 3.0.0 的版本,在 2003 年九月底成為正式的生產版本,它包含下列的主

要的新功能:

1) 輕量目錄存取協定(Active Directory)。在Samba 3.0 下已經可以當作LDAP

的伺服主機或是使用來認證使用者的權限。

2) 支援 Unicode。 Samba 現在可以用認得 UNICODE,在連線和 Samba 內

部的傳輸已經可看的懂多位元組(Multi Bytes)和 UNICODE 的字集(character

sets)。 也就是說可以讓使用者以母語的文字來做為儲存檔的檔名,如此更方

便使用在 例如中文的環境。

3) 新的使用者認證系統(authentication system)。Samba 3.0 內部的使用者

認證系統系統幾乎完全重新改寫,多數的改變是在內部,但是新的認證系統提供

更為方便的設定功能(Configurable)。

4) 提供更方便的檔案系統預設的機制。

5) 新增"net" 指令。它相當於 windows 上的"net" 指令.使的使用 Samba 取代

windows 伺服主機更為透通。未來會有更多的指令(例如 smbpasswd 等等)

會用"net"的次指令來取代。

6) Samba 現在可以使用 NT 格式的 status32 錯誤訊息碼,如此可以有更好

的錯誤處理機制。

7) 更好的 Windows 2000/XP/2003 列印支援,包含在目錄存取協定(active

directory)提供印表機的的特性資料(attribute)。

8) 提供 passdb, backends 和字元集(character sets)使用時再載入的模組

(loadable module)功能。不需要啟動時不管用不用的著都一起載入。

9) 新的預設的雙常駐程式功能的 winbindd 支援,可以有更好的效能。

10) 支援直接將 Windows NT 4.0 的 domain 直接轉移更新到 Samba 的功能。

原先的 user, group 和 domain SID 都可以保留。

Page 55: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

54

11) 支援和 Windows NT 4.0 domain controllers 之間彼此建立安全連線(trust

relationship)的功能。.

12) 使用輕量目錄存取協定來儲存 SID 到 uid/gid 的對映關係,開始支援分散式

的 Winbind 架構。

13) Samba 網站文件位置重新編排,更為有系統。

14) 完整的支援用戶端和伺服器端 SMB signing 的動作,可以和 Windows

2003 的安全預設值完全相容。

15) 改良存取控制機制(Access Control List) 的對映機制。

A.2 Samba 的使用方法論(Methodology)

傳統上 SMB 使用 UDP 137 埠(NetBIOS name service),UDP 138 埠(NetBIOS

datagram service), 或是 UDP 139 埠(NetBIOS session service)。如果使用

sniffer 之類的網路觀測軟體或設備,可以發現即使只是打開一個檔案,網路上的

資料流量是如此高的嚇人。

大體而言 SMB 是以下列的順序建立連接(session)的:

TCP Connection – 在 139 埠/tcp 或是 445 埠/tcp 建立三向的溝通模式

(handshake connection)

NetBIOS Session Request – 使用下面的”Calling Names”: 本地主機的

NetBIOS

名稱加上 16th 的 0x00 字元,主伺服器的 NetBIOS 名稱加上 16th 的 0x20 字元.

SMB Negotiate Protocol – 決定使用什麼的規格交談,規格如下:

PC Network Program 1.0(Core); Microsoft Networks 1.03(Core Plus); Lanman

1.0(LAN Manager 1.0); Lanman 2.1(Lan Manager 2.1); NT LM 0.12(NT LM

0.12)

SMB Session Startup – 依據下列五種方法傳送加密或是不加密的密碼而

建立連線:Null(不加密); Cleartext(不加密); LM 跟 NTLM; NTLM; NTLMv2

SMB Tree Connect – 連接到共用的名稱(譬如 \\servername\share) 或是

到服務的形態(譬如 IPC$ named pipe)

Samba 是屬於開放原始碼(Open Source/Free Software)的軟體,它可以提供連

接到 SMB/CIFS 的檔案和列印的各項服務。在 GNU General Public License 版

權之下,可以免費使用。

Page 56: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

55

Samba 可以在 Linux(RedHat, SuSE, Debian, …), AIX, HP-UX, MVS, NOVELL,

Solaris, 和 VMS 等等作業系統上執行。因此可以提供這些不同的作業系統和微

軟 Windows 作業系統間非常透通的整合功能。

A.3 Samba 的術語(Terminology)

SMB: Server Message Block 的簡寫,這是微軟檔案和列印共享所用的協定

(protocol)。

CIFS: Common Internet File System 的簡寫,在 1996 年左右微軟顯然

決定使用 Internet 的字眼,所以改名為 CIFS。

NetBIOS: “Network Basic Input/Output System”的簡寫。並不是一種

protocol,而是在既有協定下連通的一種方式。

A.4 Samba 的詳細除錯步驟

A.4.1 簡介

本節包含使用者可以執行的一些程序,可以用來檢驗 Samba 伺服器是否正常。

同時可以由在哪一個步驟有問題而得知使用者最可能產生這些問題的原因。如果

所有下列的檢查步驟都通過那大致上 Samba 的執行應該正常。

使用者應該依照順序檢驗所有的步驟。大致上依照本章節所列的順序,後面的檢

驗內容依照前面類似的功能,則可以有效的找出問題之所在。如果發現找到的訊

息不夠詳細也可以繼續的做下面的檢驗,以求更詳細的訊息。

Samba 的 mailing list(http://us1.samba.org/samba/archives.html) 有各項

Samba 相關的討論資料,可以訂閱或是線上詢問,但是如果附上的資料不夠詳

細;譬如只有說”不正常工作”那可能是得不到任何答案的。

A.4.2 假設之前提

下列的檢驗都是假設有一個 Samba 伺服器叫作”rh90-srv”;同時有一個 PC

叫作”ACLIENT”;兩者都是在”MYGROUP”的群組中。

如果有其他的 client 測試的步驟也是相似的。

同時假設使用者知道在 smb.conf 檔案中要檢驗的服務名稱叫做 tmp. 使用的可

以用 Webmin 或是其他的方式加入 tmp 的 Samba 服務。假設在 smb.conf 檔案

中已經有下列的內容:

[tmp]

comment = temporary files

path = /tmp

read only = yes

Page 57: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

56

請注意所有系統所顯示出來的錯誤訊息資料。如果伺服器有非常不友善的錯誤

訊息;譬如主機連接不上或是停留很久在顯示出連不上的訊息,請先查

/etc/resolv.conf 檔案的設定是否如你所希望的。它是否有指到正確的 DNS 伺服

主機。

如果沒有使用 DNS 伺服主機時,在 smb.conf 檔案內必須設成如:dns proxy =

no 最方便的檢驗方式是用 testparm smb.conf.

Samba 的紀錄檔案是放在/var/log/samba 目錄中,可以開啟多個視窗用 tail -F

log_file_name 來持續的監看 Samba 紀錄的情形。

如果修改 smb.conf 檔案後,請記得重新啟動 Samba 的程式 smbd 和 nmbd.

A.4.3 檢驗的步驟

檢驗 Samba 伺服器主機

在 /etc/samba 目錄執行 testparm smb.conf. 如果有任何的錯誤訊息產生,哪

smb.conf 檔案就有不正常的地方必須修改。

從 PC 上執行 ping rh90-srv 指令;;;;從 UNIX 伺服器上執行 ping ACLIENT 指

令。 如果上述兩種指令都沒有適當的回應,那 TCP/IP 相當的軟體應該沒有設

定好。或是 PING 所用的 ICMP 協定被系統(主機或是兩主機間的 Router)所攔去

了。

如果得到的回應是主機找不到(host not found)或是類似的訊息,那可能是 DNS

的設定或是 /etc/hosts 檔案沒有正常的設定完成。如果沒有在伺服器和用戶端

設定 DNS Samba 還是可以使用的,但是必須在 /etc/hosts 檔案有正確的內

容。本章節假設DNS 或是 /etc/hosts 有正確的設定以完成下面Samba的檢驗。

另外一個原因造成 PING 沒有回應的因素是防火牆軟體所造成。在檢驗 Samba

是否正常時最好先將防火牆的規則放寬,以便於作各項的測試。(在 Linux 內的

防火牆程式為 ipfwadm )

注意:目前 RedHat Linux 9 的預設安裝 ipchains/iptables 等程式

當啟動時要特別的注意,以免 Samba 沒有辦法正常執行。

在 UNIX 主機上執行 smbclient -L rh90-srv 指令,這時候可以顯示出所有可以

使用的服務(avialble service)。

如果得到的訊息是 "Bad password" 那表示可能的原因在於下面數種情形:

hosts allow, hosts deny 或是在 smb.conf 檔案內的 valid users 行不正確;

Samba 的使用者密碼(包含客人帳號,guest account)不正確。這時候應該使

Page 58: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

57

用 testparm 或是暫時取消 hosts allow, hosts deny, valid users 或是

invalid users 來測試。

如果得到的訊息是連線被拒絕(connection refused) 此時可能是 smbd 伺服器

程式沒有在執行。在 RedHat Linux 9 內可以用 service smb start 來啟動或是執

行 setup 指令來設定啟動 Samba 伺服器程式。 也可以用 service smb status

來觀看目前 Samba 伺服器程式啟動的狀態。

如果先碰到連線要求錯誤 (session request failed) 訊息後再顯示伺服器拒絕連

線(server refused the connection)而系統顯示出你的伺服器不友善(Your

server software is being unfriendly)時表示送到 smbd 程式的參數不正確;或

是在初始化 smbd 時有類似的重大錯誤產生。 這時候當然要檢查 smbd 初始化

的程序。這時候也要用 testparm 檢查 smb.conf 檔案; 更要檢查 Samba 的錯

誤記錄檔和鎖定檔(lock file)。這部分的錯誤情形並不常見。

有下列幾種可能的原因造成 smbd 拒絕連線。最常見的是下列一個或是幾個

smb.conf 檔案內的設定:

hosts deny = ALL

hosts allow = xxx.xxx.xxx.xxx/yy

bind interfaces only = Yes

上述並不允許任何的連線自動的轉換到 loopback 位址 127.0.0.1. 要解決這個

問題可以將內容改為:

hosts deny = ALL

hosts allow = xxx.xxx.xxx.xxx/yy 127.

當要使用可以變更 Samba 密碼或是 smbclient 要連接到本地服務時不能使用

bind interfaces only 的參數。請參考附錄有關 smb.conf 的詳細說明。

另外一種可能碰到的情形是 port 139 已經給其他的程式用到了。

再另外一種情形是 subnet mask 與或是 broadcast address 的設定不正確。此

時有可能有一些網路的服務可以執行,但是其他的服務又不通(如 telnet 可以

通,但是 ftp 卻是不工作)。這時候請先檢查網路介面卡的 IP 位址 / Broadcast

位址/ Subnet Mask 設定是否正確。Samba 會將這些資料記錄在 log.nmbd 檔

案中。

執行 nmblookup -B rh90-srv __SAMBA__. 這時候可以得到 Samba 伺服器

主機的 IP 位址。

如果沒有辦法正常得到,那 nmbd 的啟動安裝並不正常。這時候檢查 inetd 時

否會正常啟動 nmbd 或是有其他的程式用到 udp port 137.

Page 59: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

58

還有一些情形是有一些 inetd 程式並沒有辦法接受非常長或是非常多的參數在一

行內。如果有這種的情形可以改寫成 inetd 可以執行的一行 script ,用這一行的

script 來包含所有的參數內容。

執行 nmblookup -B ACLIENT '*'指令

這時候可以得到用戶端的(PC)的 IP 位址。如果沒有辦法得到,表示用戶端

(PC)的程式安裝不正確。

如果 DNS 看不懂 ACLIENT 的位址,此時可以用 IP 位址來代替。

執行 nmblookup -d 2 '*'指令

這一部份的檢測和前面的類似,但是改用廣播(broadcast ) 到廣播的預設位址。

可能會有很多在網路上的 NetBIOS / TCP/IP 主機會回應。雖然 Samba 沒有辦

法在非常短的時間內回覆所有的答覆,但至少可以知道有一些主機回覆的情形。

如果得到的結果和前述 5 的 nmblookup 結果不一樣;此時表示 nmblookup 沒有

辦法經由自動的機制得到廣播的位址。此時可以在 smb.conf 檔案內加入

interfaces 的選項,用手動的方式來設定 smb.conf 檔案的 IP 位址,廣播和遮

蔽。.

如果 PC 和 UNIX 伺服器不在同一個網段(subnet) 這時候必須多加上 -B 的選

項來指定廣播的位址到 PC 的網段。

如果網段遮蔽和廣播位址的設定不正確,這個部分的檢測就沒有辦法正常。

執行 smbclient //rh90-srv/TMP. 系統會問你的密碼。這個密碼是 UNIX 系統

登入使用者的密碼。如果要測試其他的使用者可以加上 -U accountname 的選

項在指令行的最後面。例如: smbclient //rh90-srv/tmp -Ujohndoe

此外也可以在上述命令行的最後面直接加上該使用者的密碼。例如:smbclient

//rh90-srv/tmp -Ujohndoe%secret

輸入密碼後可以顯示 smb> 的提示。如果沒有這個提示,請注意錯誤的訊息。

如果此錯誤訊息是不合適的網路名稱,表示在 smb.conf 檔案內的"tmp" 服務設

定是不正確的。

如果此錯誤訊息是密碼不正確,那可能的原因如下:

UNIX 主機設定為使用 shadow passwords ,但是 smbd 並沒由編譯為支援這項

的密碼格式。在 RedHat Linux 9 的 Samba 不會有此項錯誤產生。

samba.conf 的 valid users 設定不正確。

密碼有使用大小寫字母,但是在 smb.conf 內並沒有啟動較高 password level

的選項。

Page 60: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

59

或是 path = 行的格式不正確。使用 testparm 來作檢驗。

啟動密碼壓縮的功能,但是並沒有將 UNIX 的密碼轉換成 Samba 所需要的格式。

smbclient 連接到 Samba 主機後, 可以用 dir get put 等等指令。 help

command 也可以顯示出幫助的提示。 尤其必須用 dir 指令檢查還沒有用的磁

碟空間是否足夠。

在 PC 主機上執行 net view \\rh90-srv. 此時可以顯示出在 Samba伺服主機上

目前可共用的所有資源。

如果顯示出來的訊息是網路名稱找不到或是類似的錯誤訊息,那表示 netbios 的

名稱解碼不正確。此時常常是 nmbd 執行不正常。可以依照下列任何一種方法

來解決:

解決 nmbd 安裝的問題。

如果有wins server 的權限,可以由PC上進階TCP/IP的設定來將 rh90-srv 伺

服器的 IP 位址加到系統中。

在進階 TCP/IP 的設定部分來啟動 DNS,使 Windows 的名稱解碼可以運行。

將 rh90-srv 加到 PC 的 lmhosts 檔案中。

如果訊息是不合理的網路名稱或是錯誤的密碼時可以依照前面解決 smbclient

-L 的步驟來檢驗。尤其是確定 hosts allow 行是否正確。

同時不要忘記,工作站上是使用登入到 Windows 的登入使用者當作預設的使用

者來連接到 Samba 伺服器。請確定在 Samba 主機上這個使用者是存在而且是

可以登入的。並且有相同的使用者名稱和密碼,如此才可以正常使用。

如果得到的訊息是所指定的電腦並沒有接收到連線需求或是類似的訊息時,表示

伺服主機沒有辦法使用 tcp 服務來連線。此時可檢查主機是否執行 tcp

wrappers 程式, 如果有的話,在 hosts.allow 檔案必須加入你的用戶機器(或

是 subnet 等等)。

執行 net use x: \\rh90-srv\TMP 程式。系統會提示要求輸入密碼。正確輸入密

碼後會有命令完成的訊息。如果沒有正成完成,那表示 PC 的軟體安裝的不正

常或是你的 smb.conf 檔案不正確。請先確定 hosts allow 或是在 smb.conf

檔案中的其他設定行是否正確。

也有可能依照所指定的使用者伺服器並沒有辦法能被登入。此時可以在

smb.conf 檔案中的 [tmp] 服務,強制指定使用者為特定的某人。此時可用 user

= username 來設定。如果此時可以解決問題,表示必須設定使用者對映的選項。

如果用戶端只會傳送加密的密碼,此時 smb.conf 檔案內的 encrypt passwords

= no 選項必須設為啟動(on)就可以解決的。

執行 nmblookup –M mygroup 程式,其中 mygroup 是在 Samba 伺服器和

Page 61: 資源分享伺服器(Samba)ebooks.lib.ntu.edu.tw/1_file/oss/85/SOP-Samba.pdfCOSA-SOP-2003-005 Version 1.00 資源分享伺服器(Samba) 架設標準作業程序書 Samba Server Standard

60

Windows PCs 所屬於的群組。

如果上述的指令沒有辦法完成,可以等待一分鐘後再執行。觀看是執行非常慢還

是沒有辦法完成。如果是沒有辦法完成必須先確定 smb.conf 檔案中的

preferred master = yes 的選項是啟動的。

從 PC 的檔案總管嘗試瀏覽伺服主機的內容。 如果 Samba 伺服器出現在瀏覽

的本地群組視窗中,(或是在 smb.conf 所指定的群組中). 而且可以瀏覽到伺服器

和可共用的資源,但是出現不合理的密碼錯誤訊息時(invalid password) 此時可

能是你在 WinNT 上執行,但是它拒絕時為沒有設定為加密的密碼,而且使用者

的層級為加密(user level security mode)。此時可以修改 smb.conf 的下列選

項來改正: security = server 而且 password server = Windows_NT_Machine

或是確定 encrypted passwordsI 設為 "yes".