精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

出于各種目的 輕松設置Samba

運維 系統運維
Samba 使用一種人類可讀的文件管理和存儲其配置參數,因此配置 Samba 所需的最精密的工具就是文本編輯器。了解配置文件是如何構造的,Samba 如何與網絡交互,如何配置日志,如何使用 Samba 調試問題。

 在本文中,學習以下概念:

  • 瀏覽 Samba 服務器配置文件結構
  • 使用 Samba 變量和配置參數
  • 識別對 Server Message Block (SMB)/Common Internet File System (CIFS) 使用的關鍵 TCP/User Datagram Protocol (UDP) 端口
  • 配置 Samba 日志
  • 使用 Samba 診斷和調試問題

Samba 配置文件

與大部分 UNIX 守護進程一樣,Samba 是通過人類可讀的文本文件配置的,而非通過一個用于編輯二進制文件的圖形工具。最重要的配置文件稱為 smb.conf,它包含 Samba 在您的環境中運行所需的所有參數。

注意:盡管 smb.conf 是設計為通過文本編輯器編輯的,Samba 團隊開發出了一個基于 web 的工具,名為 Samba Web Administration Tool。另外也有 webmin 等其他工具。重要的是要記住,在運行這些工具之前或之后,您仍然可以編輯 smb.conf,因為您在操作一個文本文件。

Samba 的配置文件有一個相對簡單的格式,使用三個不同的結構:

  • Sections。Sections 將配置文件分成獨立的部分。例如,一個文件共享有其自己的區域。
  • Parameters。 Parameters 是鍵值對。鍵是眾所周知的屬性,比如 “read only”。
  • Comments。Comments 允許您對配置文件做注解,而不影響不配置,比如指示記載共享信息的服務臺票證。

Sections

構建您自己的提要您可以構建一個 RSS、Atom 或 HTML 提要,以便在我們添加新文章或更新內容時收到通知。訪問developerWorks RSS 提要。選擇 Linux 作為專區,Articles 作為類型,輸入 Linux Professional Institute 作為關鍵字。然后選擇您想要的提要類型。Sections 將配置文件分成不同的部分。您可以將 section 名包含在方括號([])中來開始一個 section。本 section 將持續到下一 section 被定義或達到文件的結尾。

有三個 section 名具有特殊的含義:

  • global。該 section 中的所有內容都適用于整個服務器。如有需要,可在共享級別覆蓋 global 部分中的配置項。
  • homes。homes 部分充當所有用戶共享的模板,且 Samba 負責將用戶名映射到該部分中的配置,每次您想讓用戶進入其主目錄時都幾乎無需配置獨立的共享。
  • printers。該部分類似于 homes,區別在于它用于打印機。

如果使用的 section 名不是上述之一,那么會被看作是文件或打印機共享。

當針對特定共享名的一個連接請求進入 Samba 時,守護進程尋找具有該名稱的、會定義該共享的屬性的 section。如果未找到這個 section,Samba 瀏覽系統上的用戶列表,看看連接是否是指一個用戶。如果不是,Samba 查詢系統打印機列表,看具有該名稱的打印機是否存在。如果連接匹配用戶,則使用 homes 部分的配置。如果打印機匹配,則使用 printers 部分。在所有情況下,區域級配置覆蓋 global 配置部分。

如果上述情況都不匹配,還有最后一項檢查。如果配置了默認服務,則使用該服務。如果沒有,一個錯誤會傳回客戶端。默認情況下,不配置默認服務,因此不正確的共享名會導致錯誤。

Parameters

Parameters 采用的形式是 key = value,即將 value 賦給 key。鍵都記錄在 smb.conf 手冊頁中。Samba 配置很大程度上就是了解實現想要的行為所需的鍵并確定要使用的適當的鍵。

Parameters 一般將字符串作為值。Samba 支持宏,允許您根據共享名或用戶輸入等項目改變參數的值。例如,homes 部分默認設置為用戶的 UNIX 主目錄,但是您可以使用宏將該參數用于任何位置,并在連接時替換文件路徑中的用戶名。宏以 % 字符開頭,會在需要時加以討論。

如果一個參數的值必須擴展到兩行或更多行,除最后一行的所有行必須以反斜杠(\)結束,就像一個 UNIX shell。

Comments

Comments 以分號(;)或散列字符(哈希符號或 #)開頭。Comments 可用于解釋項目原由、跟蹤變更或顯示 section 邊界。

配置示例

清單 1 顯示 smb.conf 文件示例,說明文件的不同組成部分。

清單 1. 配置文件示例

# This is a comment
; So is this
# Remember that all shares need to be entered in the Wiki! -Opsteam
[global]
workgroup = BIGCO
# %v gets expanded to the version of Samba
server string = Samba Server Version %v
# By default any file starting with . will have the hidden attribute set
hide dot files = yes
# Home directories come from the UNIX password file
# anyone matching a user will use this section
[homes]
comment = Home directories
# dot files will be hidden because it's a global
[printers]
comment = System printers
printable = yes
# A share that everyone can see
[projecta]
path = /var/spool/projects/projecta
# Override the global version of hiding dot files
hide dot files = no

對于該配置示例特別需要注意的是:

  • 使用了兩種不同類型的注釋。一個以哈希符號開頭,另一個以分號開頭。
  • 該文件定義了一個名為 projecta 的共享。任何其他共享將自動通過系統上定義的用戶和打印機予以創建。
  • server string 參數將 %v 宏作為其值的一部分。在運行時,%v 將被替換為 Samba 的版本。
  • 在全局級別,hide dot files 被設置為 yes,但在 projecta 共享內被設置為 no。主目錄使用 homes 部分中的配置,因此會隱藏其 dot 文件(比如 .profile)。projecta 文件的 dot 文件可見。

Samba 網絡交互

Samba 是通過 IP 運行的一項網絡服務,因而它可以與網絡上也在使用 IP 的其他主機通信。作為一名 Samba 管理員,您需要理解 Samba 服務在網絡上的運作方式,以便解決連接問題。

在較高的級別,您可以將 Samba 看作是提供三種不同的網絡服務:

  • 文件和打印共享。提供文件和打印機給其他網絡服務并在其他機器上使用這些服務
  • 名稱服務。加入 Microsoft 網絡所需的名稱解析服務
  • 域服務。Samba 可取代各種 Microsoft 服務器角色,比如舊的域控制器,并與較新的 Active Directory Domain Services (AD DS) 服務器集成

文件和打印共享

文件和打印共享在 smbd 內實現,它是 Samba 守護進程之一。Microsoft 在初次涉足 IP 時其文件共享使用了經由 TCP 的基本網絡輸入/輸出系統(NetBIOS)。該方法使用 TCP 端口 139 將 NetBIOS 封裝在 TCP 會話內。

NetBIOS 協議包括以下幾個特性。TCP 端口 139 僅用于會話服務,即文件傳輸和消息解析。在該端口上不處理名稱查找服務。

NetBIOS over TCP 有效運作,但是 NetBIOS 與 TCP 提供的會話和可靠性功能之間有重疊。經過一些微小的更改之后,就可以在 TCP 之上運行 SMB/CIFS 了。該方法被稱為直接宿主,用于簡化協議。直接宿主發生在 TCP 端口 445 上。

當從協議集中刪除 NetBIOS 時,Microsoft 需要另一種方式來處理名稱查找。Domain Name System (DNS) 自然是一個選擇,它是 DNS 形成 AD DS 基礎的原因。

默認情況下,Samba 監聽端口 139 和 445。您可以使用 smb ports 全局參數更改這個行為。例如,smb ports = 445 告訴 Samba 僅監聽端口 445。您可以讓 Samba 監聽任何您想要監聽的端口,不過必須告訴想要連接的任何客戶端使用非標準端口。

如果您不確定 Samba 在監聽哪些端口,可以使用 netstat 命令查明。清單 2 顯示運行中的該命令。

清單 2. 使用 netstat 查找 SMB 在監聽哪個端口

# netstat -antp | grep smbd
# netstat -antp | grep smb
tcp 0 0 :::445 :::* LISTEN 2830/smbd
tcp 0 0 ::ffff:192.168.1.143:445 ::ffff:192.168.1.147:4724 ESTABLISHED 2877/smbd

清單 2 顯示運行的 netstat 命令,通過 grep 為字符串 smb 篩選了輸出。使用的 netstat 選項以數字格式(-n)顯示所有(-a)TCP(-t)連接,以及所負責進程(-p)的名稱。該輸出顯示兩行:第一行包含字符串 LISTEN,這表示守護進程在監聽傳入的連接。這里守護進程在監聽端口 445。第二行顯示 ESTABLISHED 連接,其中 192.168.1.147 連接到本地主機(192.168.1.143)上的端口 445。因此,通過 清單 2 中的輸出,您可以總結出 smbd 僅在監聽端口 445,且連接了一個客戶端。

名稱服務

NetBIOS 提供一個名稱服務層,負責網絡瀏覽和名稱查找。例如,通過在 UDP 端口 137 上使用 NetBIOS 名稱服務請求,解析出了主機 SERVER1 的 IP 地址。對支持角色(比如主瀏覽器)的瀏覽和選擇發生在 UDP 端口 138,或稱為數據報服務端口。名稱服務是在 nmbd 守護進程中實現的。

重要的是要注意,名稱服務使用 UDP 而非 TCP。UDP 數據包無連接,可廣播到所有主機,而非單一單播流。使用 UDP 的播放功能,就更容易在網絡上處理 NetBIOS 名稱服務。

Samba 版本 3 沒有任何參數用來控制 nmbd 在監聽哪些端口,但是 Samba 版本 4 實現了 nbt port 和 dgram port 全局參數,它們分別控制名稱空間和數據報服務端口。

您可以使用類似于 清單 2 中的命令顯示哪個端口 nmbd 開著。這如清單 3 所示。

清單 3. 顯示 nmbd 監聽的端口

# netstat -anup | grep nmbd
udp 0 0 192.168.1.255:137 0.0.0.0:* 2975/nmbd
udp 0 0 192.168.1.143:137 0.0.0.0:* 2975/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 2975/nmbd
udp 0 0 192.168.1.255:138 0.0.0.0:* 2975/nmbd
udp 0 0 192.168.1.143:138 0.0.0.0:* 2975/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 2975/nmbd

除了查找 nmbd 而非 smbd 之外,清單 3 中的命令使用 netstat 的 -u 選項查找 UDP 端口而非 TCP 端口。結果顯示 nmbd 在各個接口監聽端口 137 和 138,且在監聽 192.168.1.255 的廣播地址。兩個名稱服務端口都依賴于主機對主機通信和廣播通信。

域服務

Samba 團隊在不斷更新軟件,以使其更緊密地與 Microsoft 網絡集成,并替換 Microsoft 基礎架構。為此,Samba 必須枚舉網絡上的這些基礎架構服務。

這些服務的大部分都在一定程度上涉及到 Kerberos 和 Lightweight Directory Access Protocol (LDAP)。這些是高級主題,將在后面的文章中更詳細地介紹。目前,只需知道 Samba 可以做的不僅僅是文件共享。#p#

Samba 使用的端口匯總

表 1 提供 Samba 守護進程監聽的與文件共享相關的端口的匯總。

表 1. Samba 使用的端口匯總

端口 協議 服務 守護進程 描述
137 UDP netbios-ns nmbd NetBIOS 名稱服務
138 UDP netbios-dgm nmbd NetBIOS 數據報服務
139 TCP netbios-ssn smbd NetBIOS over TCP(會話服務)
445 TCP microsoft-ds smbd 直接托管的 SMB

 服務列中的標記是知名的服務名稱,它來自一個名為 /etc/services 的文件。服務文件幫助應用程序將服務名稱解析為端口號。該文件還幫助人們將端口號關聯到服務名稱。盡管大部分服務同時保留 TCP 和 UDP 端口,應用程序不必同時使用 UDP 和 TCP。當兩個不同的服務嘗試使用不同協議上的同一端口號時,保留兩者可消除可能的混淆。

另外值得一提的是,/etc/services 中的端口號和名稱不是強制實施的。您可以在與預期的不同的端口上運行守護進程,前提是您可以將這一變更傳遞給客戶端。例如,只要您的客戶端不打算在標準端口上對話,您可以在端口 5137 到 5139 和 5445 上運行 Samba。

Samba 問題故障排除

Samba 也難免有問題。有時,這些問題是由系統管理員引起的;有時是由用戶引起的。作為系統管理員,您的工作就是找出問題所在,然后查明解決方法。

測試配置文件

如果 Samba 無法啟動,或您想檢查配置文件看是否正確,那么 testparm 實用程序將有所幫助。該實用程序檢查 smb.conf 是否正確。清單 4 顯示出現錯誤時 testparm 的結果。

清單 4. 在一個不正確的 smb.conf 文件上使用 testparm

# testparm
Load smb config files from /etc/samba/smb.conf
Unknown parameter encountered: "hide dto files"
Ignoring unknown parameter "hide dto files"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
passdb backend = tdbsam
log file = /var/log/samba/log.%m
max log size = 50
cups options = raw
<< rest of the output omitted >>

testparm 的輸出從文件的位置開始。如果您想指定一個不同的文件,在命令行上傳遞文件的名稱,如下面的例子:

testparm /home/me/smb.conf

接下來,testparm 抱怨有一個名為 hide dto files 的無效參數。實際上該參數應當是 hide dot 文件。

在處理配置文件之后,您就得到一些有關服務器角色和配置文件精簡版的信息。該版本將注釋剝離出來,且始終經過格式化,因此有時您會捕捉到這里漏掉的錯誤,同時在文本編輯器中瀏覽 smb.conf。

在作出更改之后您應當在您的配置文件上運行 testparm。Samba 忽略配置文件中的大多數印刷錯誤,且在啟動時并不總是寫入消息到控制臺。在發現某些東西不能正常工作之前,您可能不會捕捉到這類錯誤。Testparm 會提醒您 smb.conf 中的任何印刷錯誤。

默認情況下,testparm 僅向您展示 smb.conf 中輸入的配置。如果您懷疑您在某個地方使用了默認值,可以使用 -v 選項強制testparm 也顯示默認值。

testparm 的另一個用法是將輸出限制到單一部分或參數。清單 5 顯示如何使用 testparm 查看 security mask 選項的值。

清單 5. 將 testparm 限制到單一參數

# testparm -s --parameter-name "security mask"
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Loaded services file OK.
0777

在清單 5 中,-s 參數阻止 testparm 在解析 smb.conf 與將其顯示到屏幕之間的用戶輸入。使用 --parameter name "security mask"詢問 security mask 的值。結果是 0777,即默認值。在該模式下,沒有必要指定 -v 來顯示默認值。

作為客戶端進行連接

您可以不用到用戶桌面并親自試驗一些東西,而是可以在您自己的桌面通過命令行執行大量測試。第一個最簡單的測試是確保您可以連接到 Samba 端口。做到這一點的最簡單的方法是使用 telnet 命令,如清單 6 所示。

清單 6. 測試與 telnet 的連接

# telnet bob 139
Trying 192.168.1.134...
telnet: connect to address 192.168.1.134: Connection refused

在清單 6 中,root 用戶在端口 139 上連接到服務器 bob。您還可以使用端口 445 測試直接托管的 SMB 端口。結果是 Connection refused,這表示守護進程沒有監聽該地址,或防火墻阻止連接。其他結果,比如 No route to host 或 Connection timed out 如出一轍。

客戶端通常使用一個名稱而非 IP 地址連接到一臺服務器。如果您使用 telnet 連接到服務器名稱,而非 IP 地址,要特別注意返回的 IP 地址。在上述示例中,服務器(bob) 被解析為 192.168.1.134。有時,您的 DNS 記錄會有錯誤,導致客戶端連接到錯誤的地址。

如果您不使用 DNS 進行 Windows 名稱解析,那么可以使用 nmblookup 命令執行一個 NetBIOS 名稱查詢。清單 7 顯示 bob 服務器查詢。

清單 7. 為 bob 執行一個 NetBIOS 名稱查詢

# nmblookup bob
querying bob on 192.168.1.255
192.168.1.138 bob<00>

根據清單 7,服務器 bob 的 IP 地址是 192.168.1.138,而非 192.168.1.134,如 清單 6 所示。結果表示 DNS 出現問題,特別是當端口 139 和 445 在 192.168.1.138 上做出反應時。

另一項測試是看看配置文件是否拒絕訪問某一主機。Testparm 再次在清單 8 中用到。

清單 8. 使用 testparm 檢查訪問

# testparm /etc/samba/smb.conf seanspc 192.168.1.147
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Deny connection from seanspc (192.168.1.147) to homes
Deny connection from seanspc (192.168.1.147) to printers

Deny connection from seanspc (192.168.1.147) to public

在清單 8 中,有三個項目被傳遞給 testparm:

  • Samba 配置文件的路徑
  • 要測試的機器的 NetBIOS 名稱
  • 要測試的機器的 IP 地址

清單 8 中的輸出顯示拒絕考慮中的機器訪問所有共享。在這種模式下使用 testparm 時,實用程序實際上不作為該機器進行連接。相反地,testparm 處理配置文件,以查看是否允許訪問。

如果目前為止的所有測試都成功,您可以嘗試使用 smbclient 實用程序建立一個客戶端連接。第一個測試是要試圖瀏覽共享列表,如清單 9 所示。

清單 9. 顯示機器的共享

[sean@bob source3]$ smbclient -L '\\bob'
Enter sean's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.6-69.fc13]
Sharename Type Comment
--------- ---- -------
extdrive Disk
Sean Walberg's iMac Disk
timemachine Disk
IPC$ IPC IPC Service (Samba Server Version 3.5.6-69.fc13)
test Printer test
Downstairs_Laser Printer HP 6L
Cups-PDF Printer Cups-PDF
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.6-69.fc13]
Server Comment
--------- -------
BOB Samba Server Version 3.5.6-69.fc13
Workgroup Master
--------- -------
MYGROUP BOB
WORK SWALBERG-XPLT
WORKGROUP IMAC-1FC525

在清單 9 中,用戶在 bob 服務器上使用 -L 參數請求共享列表。服務器名稱以兩個反斜杠(\\)為前綴,因為它是一個 Universal Naming Convention (UNC) 路徑。在選擇單引號和雙引號時要小心。單引號插入并將反斜杠看作是轉義符。

如果您的服務器有更多的安全設置,您可能需要分別使用 -W 和 -U 參數傳遞用戶名或域。

最后,您可以嘗試連接到一個共享,方法就是省略掉 -L 參數并指定到共享的一個完整的 UNC 路徑。清單 10 顯示客戶端使用不同的工作組和用戶名連接到一臺服務器。

清單 10. 使用不同的用戶名和域連接到共享

[sean@bob source3]$ smbclient '\\swalberg-xplt\photos' -U swalberg -W WORK
Enter swalberg's password:
Domain=[WORK] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \> dir
. D 0 Thu Jan 6 11:39:50 2011
.. D 0 Thu Jan 6 11:39:50 2011
<< files omitted >>
38156 blocks of size 4194304. 2938 blocks available
smb: \>>

如果這些測試通過,您可以很確定問題與 Samba 配置無關,而是客戶端與服務器之間或客戶端本身某個地方有問題。您可以查看下一節將要介紹的日志,其中就問題所在提供了一些線索。#p#

日志記錄和調試

日志記錄和故障排除相伴而行。日志允許您回顧歷史,查看是否有錯誤發生并在問題發生時獲取有關問題的更多細節。如果您嘗試弄清為何有些東西不能正常運作,可以增加日志數量,直至獲得必要的詳細程度。Samba 在 smb.conf 中提供了一些參數來處理日志記錄;您可以一起使用這些參數來定制生成的日志類型。

Samba 就像一個傳統的 UNIX 守護進程,在于它可以將日志記錄到 syslog 工具,并生成其自己的日志文件。此外,Microsoft Event Viewer 工具可以連接到一個 Samba 服務器來提取日志。后一特性的要點在于,Samba 不能直接將日志記錄為事件日志格式:您必須使用 Samba 工具對您的日志文件進行后處理。

日志級別

Samba 生成的每條日志消息都有一個 級別,即從 0 到 10 的一個整數。較高級的消息,比如新連接和重要錯誤,具有較低的級別。消息調試具有較高的級別。通過指定您想記錄的日志的最大級別,可以控制日志量。級別為 1 的日志僅記錄優先級為 0 或 1 的消息。如果您想要更多的日志記錄,可以使用一個較高的數字。

級別大于 3 的任何日志都旨在用于開發人員,對系統管理員沒有太大的幫助。使用日志級別 0 將避開除一些啟動消息和關鍵錯誤之外的任何消息。

要配置日志級別,在 global 部分使用 log level 參數;例如,使用 log level = 2 將日志級別設置為 2。該設置記錄優先級為 2 或更小的任何消息。

您可以在運行時更改日志級別,方法就是發送 SIGUSR1 信號給 Samba 進程來增加日志級別,或發送 SIGUSR2 減少日志級別。

您還可以讓您的日志級別更細粒度一些,僅在某些功能中通過指定想要記錄的類別來增加詳細程度。這些類別是:

  • all。該參數是可選的:如果您不指定額外的關鍵字,假定使用all。
  • tdb。與不重要的數據庫相關的日志消息,這是 Samba 使用的鍵值存儲。
  • printdrivers。打印機驅動程序管理例程。
  • lanman。 NT LAN Manager 調試。
  • smb。 SMB 協議調試。
  • rpc_parse。遠程過程調用(RPCs)解析。
  • rpc_srv。服務器端 RPCs。
  • rpc_cli。客戶端 RPCs。
  • passdb。在 Samba 主機上存儲密碼的舊有方式。
  • sam。本地 Samba 帳戶數據庫。
  • auth。Samba 內與用戶身份驗證相關的各個模塊。
  • winbind。用于允許 Microsoft 用戶透明地登錄到 UNIX 系統的組件。
  • vfs。為 Virtual File System 模塊調試消息,允許您通過可插入模塊添加功能到 Samba。
  • idmap。在 UNIX 用戶 IDs 與 Microsoft 安全標識符之間映射身份。
  • quota。與配額處理相關的消息,同時由 Microsoft Windows NT 策略和 UNIX 文件系統處理。
  • acls。訪問控制列表處理。
  • locking。文件鎖定狀態和錯誤。
  • msdfs。與 Samba 的分布式文件系統支持相關的日志消息。
  • dmapi。數據管理應用程序編程接口(API)功能。必須使用第三方 DMAPI 實現編譯 Samba 來使用該功能。
  • registry。Windows 注冊表的模仿。

要使用這些額外的日志記錄,將關鍵字和值附加到日志級別參數,用冒號(:)分割。例如,log level = 1 winbind:3 將系統默認日志級別設置為 1,并將 winbind 日志級別增加到 3。這一變更可以幫助您調試有關單點登錄的問題,而無需淹沒于無關的日志文件中。

日志文件位置

要更改日志文件的名稱,使用 log file 參數。您還可以在值中使用宏。一個常用的設置是讓一個客戶端擁有一個日志文件。為此,請指定:

log file = /var/log/samba/log.%m

該命令將單個日志文件分割為每個客戶端一個文件,其余消息歸入 log.smbd。

如果您想將日志記錄到 syslog,可以指定 syslog = 1 來將級別 1 或 0 的所有日志發送到本地 syslog 服務器。Samba 使用LOG_DAEMON 工具并將 Samba 日志級別按照如下優先級映射到 syslog:

  • LOG_ERR。日志級別 0
  • LOG_WARNING。日志級別 1
  • LOG_NOTICE。日志級別 2
  • LOG_INFO。日志級別 3
  • LOG_DEBUG。日志級別 4 或更高

您使用可以過濾傳入的消息并警惕系統管理員的一個更高級的 syslog 守護進程,這是監視您的 Samba 服務器的一種很好的方式。

日志元數據

您可以添加或刪除顯示在帶有更多全局參數的所有日志條目中的一些消息:

  • debug timestamp。添加一個時間戳到日志消息,且是默認啟用的
  • debug uid。記錄生成日志的 Samba 進程的用戶和組 IDs
  • debug prefix timestamp。繼續使用時間戳,但是在生成日志的 Samba 源代碼中刪除有關位置的信息
  • debug pid。記錄生成日志的 Samba 進程的進程標識符
  • debug hires timestamp。將時間戳分辨率改為微秒,而非秒
  • debug class。記錄日志消息的類別,如果您要更改某個類的詳細程度這會有所幫助(該選項幫助確定您想要的類。)

日志記錄可幫助您找到問題,或者也可以讓您處于雜亂中。Samba 提供各種日志記錄選項;要謹慎使用它們。

系統調用跟蹤

如果其他方法都失敗了,您可以使用 UNIX 系統工具查看進程內的狀況。Linux strace 程序允許您跟蹤應用程序做出的所有系統調用。一個應用程序使用系統調用打開和讀取文件、創建和銷毀進程,并與操作系統其余進程進行交互。

清單 11 顯示 root 用戶跟蹤一個 Samba 進程,該進程向客戶端拋出一個錯誤。

清單 11. 使用 strace 程序跟蹤進程

# ps -ef | grep smb
sean 13375 28812 0 21:54 ? 00:00:00 smbd -D
root 14294 13593 0 21:55 pts/2 00:00:00 grep smb
root 16132 28812 0 Feb27 ? 00:00:36 smbd -D
root 28812 1 0 Feb14 ? 00:00:28 smbd -D
root 28814 28812 0 Feb14 ? 00:00:00 smbd -D
[root@bob /]# strace -e trace=file -p 13375
Process 13375 attached - interrupt to quit
<< Output omitted >>
chdir("/home/sean") = 0
stat64("somedir", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
stat64("somedir/*", 0xbfcb5f60) = -1 EACCES (Permission denied)
getcwd("/home/sean", 4096) = 11
lstat64("/home/sean/somedir", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
lstat64("/home/sean/somedir/*", 0xbfcb5ffc) = -1 EACCES (Permission denied)

第一個命令查找 Samba 進程列表。由于 Samba 采用所連接用戶的身份,可以輕松將進程 13375 識別為屬于該用戶的進程。接下來,運行帶有兩個參數的 strace 命令:-e trace=file 限制與文件相關的系統調用的輸出。對于您會遇到的 Samba 問題,這是一個很好的初始估計。第二個參數 -p 13375 告訴 strace 使用這個進程 ID 連接到運行的進程。

從該命令的輸出中,您會看到 smb 在不斷掃描目錄看是否有變更。當用戶嘗試有問題的操作時,您可能會看到如 清單 11 所示的輸出。最后幾個命令嘗試使用 stat64 調用獲取目錄內有關文件的信息。結果是 permission denied,這表示用戶在系統文件級被拒絕,而非由 Samba 拒絕。該命令可以為您提供更多信息來解決問題,比如更改目錄屬性或告訴用戶不允許他/她訪問目錄。

原文:http://www.ibm.com/developerworks/cn/linux/l-lpic3-312-1/index.html?ca=drs-

【編輯推薦】

  1. 從源碼配置和構建 Samba
  2. Samba在企業中的簡單應用案例
  3. Samba服務器安裝配置全攻略
責任編輯:黃丹 來源: IBMDW
相關推薦

2025-01-02 11:01:13

Apache文件類型部署

2011-03-04 15:34:52

FileZilla

2012-12-11 15:46:46

2022-03-29 09:14:23

LinuxWindows文件

2010-01-06 16:38:31

2010-09-17 14:04:14

JVM內存設置

2009-12-16 14:26:19

Linux VMwar

2020-07-14 08:48:07

數據分析技術IT

2023-10-11 13:32:30

2018-10-19 09:51:05

服務器內存RAM

2009-12-02 11:39:15

samba設置用戶

2009-11-26 09:02:30

Suse Linux

2010-05-25 13:11:21

SVNClient

2010-08-26 09:03:05

IE6

2010-08-19 09:48:46

IE6

2012-04-27 10:20:45

2010-01-14 13:59:01

2010-09-27 10:01:02

Tomcat5JVM

2010-01-21 16:57:35

交換機網關設置

2010-03-30 09:01:01

Oracle數據
點贊
收藏

51CTO技術棧公眾號

91国偷自产一区二区三区成为亚洲经典 | 久久精品九色| 国产美女免费无遮挡| 国产精品草莓在线免费观看| 99在线观看| av大片免费在线观看| 激情五月色综合国产精品| 欧美乱妇23p| 欧美激情 国产精品| 国产日本在线| 国产精品99久久久久久有的能看 | 日本在线观看高清完整版| av午夜精品一区二区三区| 国产精品成人免费电影| 欧美日韩在线观看成人| 久久综合欧美| 精品免费国产一区二区三区四区| 亚洲主播在线观看| 欧美精品在线播放| 国产精品jizz| 亚洲1区在线观看| 91久久精品一区二区| 成人在线视频一区二区三区| 黄网在线免费| va亚洲va日韩不卡在线观看| 国产欧美最新羞羞视频在线观看| 国产香蕉视频在线| 欧美一区精品| 一区二区av在线| 免费a v网站| 日韩国产在线不卡视频| 欧美性猛交xxxxxx富婆| 每日在线更新av| 中文在线观看免费| 国产精品久久毛片| 欧洲在线视频一区| 午夜福利视频一区二区| 国产一区二区三区精品视频| 国产精品美乳一区二区免费| 亚洲免费在线观看av| 午夜精品久久| 久久成人综合视频| 日本成人免费在线观看| 精品大片一区二区| 电影91久久久| 中文字幕欧美激情一区| 麻豆成人在线播放| 污污视频在线免费看| 国产成人久久精品77777最新版本| 国产色视频一区| 在线观看免费高清视频| 日韩vs国产vs欧美| 热re99久久精品国产66热| 亚洲一区欧美在线| 国产精品日本| 奇米4444一区二区三区| 欧美精品一二三四区| 午夜在线视频观看日韩17c| 97香蕉超级碰碰久久免费软件| 久久丫精品久久丫| 激情欧美丁香| 午夜精品久久久久久久99热浪潮| 国产精品19乱码一区二区三区| 欧美视频成人| 久久久久久久电影一区| 国产精久久久久久| 裸体一区二区| 国产精品久久久久久久久久尿 | 欧美精品电影| 综合在线观看色| 日韩中文在线字幕| 欧美人体视频xxxxx| 偷窥国产亚洲免费视频| 欧洲av无码放荡人妇网站| **欧美日韩在线观看| 在线观看欧美精品| 成人黄色一级大片| 欧美日本三级| 日韩va亚洲va欧洲va国产| 91国语精品自产拍在线观看性色 | 欧美在线视频在线播放完整版免费观看 | a'aaa级片在线观看| 五月婷婷另类国产| 黄色高清无遮挡| 亚洲最大的免费视频网站| 日韩一级片网址| 中文字幕在线播放一区| 精品日产免费二区日产免费二区| 色噜噜久久综合伊人一本| 91日韩中文字幕| 日韩视频一区| 国产情人节一区| 亚洲成人av综合| 国产亚洲女人久久久久毛片| 91制片厂免费观看| 黄色在线免费观看网站| 欧美撒尿777hd撒尿| av影片在线播放| 欧美精品momsxxx| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 美女高潮视频在线看| 欧美日韩一区国产| yjizz视频| 日韩国产欧美一区二区| 午夜精品久久久久久99热| 正在播放亚洲精品| 成人亚洲一区二区一| 色狠狠久久av五月综合|| 成人高清在线观看视频| 天天操天天操天天| 国产精品高潮呻吟| 国产资源在线视频| 欧美三级黄色大片| 69亚洲精品久久久蜜桃小说| 影音先锋日韩资源| 国产999精品久久久| www.97超碰| 国产欧美精品在线观看| 超碰成人免费在线| 日本成人一区二区| 亚洲精品一区中文字幕乱码| 私库av在线播放| 久久一区中文字幕| 国产精品免费一区二区三区四区| 成年人在线观看视频| 亚洲成人在线观看视频| 青娱乐精品在线| 日韩电影免费网站| 人九九综合九九宗合| 亚洲国产精品suv| 日韩久久一区二区| 国产一区二区在线免费播放| 亚洲aa在线| 久久久久久久97| 亚洲福利在线观看视频| 成人免费一区二区三区视频| 在线观看的毛片| 国产精品免费大片| 日本亚洲欧美成人| 色综合888| 欧美日韩国产页| 少妇一级淫片免费放播放| 国语精品一区| 成人精品水蜜桃| 污视频网站在线免费| 91精品国产综合久久久久久久久久| 亚洲av成人无码久久精品| 老司机一区二区三区| 久久大片网站| 亚洲性受xxx喷奶水| 精品五月天久久| 99超碰在线观看| 国产日韩一级二级三级| 成人亚洲视频在线观看| 欧美久久综合网| 国产精品欧美激情在线播放| 91成人高清| 欧美日韩国产大片| 欧美一级生活片| 亚洲欧美日韩偷拍| 亚洲少妇在线| 久久久久久九九九九| 漫画在线观看av| 亚洲日韩中文字幕| 中文字幕永久在线观看| 中文字幕一区在线| 男插女视频网站| 伊人精品视频| 欧美一区二区三区四区在线观看地址 | 久久国产精品偷| 性一交一乱一乱一视频| 五月婷婷激情综合| 美女被到爽高潮视频| 日本不卡视频在线| 精品一区二区成人免费视频| 蜜桃精品视频| 91禁国产网站| av基地在线| 欧美一区二区三区视频| 欧美日韩在线一| 17c国产在线| 中文成人在线| 欧美国产在线视频| 亚洲 另类 春色 国产| 色噜噜狠狠色综合欧洲selulu| 日本美女bbw| 国产中文字幕一区| 精品国产一区三区| 日韩免费视频| 国产精品一区二区a| 播放一区二区| 欧美国产激情18| 精品av中文字幕在线毛片| 欧美三级电影网| 日韩特黄一级片| 国产精品网站在线播放| 手机免费看av片| 美女视频黄久久| 国产午夜福利100集发布| 日韩电影在线视频| 精品在线一区| 精品视频在线播放一区二区三区| 欧美一级片免费在线| 国产高清一区二区三区视频| 精品视频偷偷看在线观看| 国产又粗又长视频| 色婷婷精品久久二区二区蜜臂av | 国产精品毛片一区二区三区四区| 日韩一区二区视频在线观看| 少妇久久久久久久| 亚洲成av人**亚洲成av**| 99精品中文字幕| 久久久亚洲欧洲日产国码αv| 国内精品国产三级国产aⅴ久| 久久经典综合| 久操手机在线视频| 久久一区二区中文字幕| 久久综合久久综合这里只有精品| 国产在线视频欧美一区| 国产精品黄色影片导航在线观看| 超碰在线网站| 欧美老肥婆性猛交视频| av天在线观看| 亚洲欧美综合另类中字| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 91女神在线观看| 久久精品一本| 国产乱子伦农村叉叉叉| 亚洲午夜久久久久久尤物| 国产日产欧美一区二区| 天堂成人在线视频| 日本人妖一区二区| 欧美日韩国产精品激情在线播放| 欧美日韩午夜| 国产免费xxx| 中文字幕日韩一区二区不卡| 亚洲在线色站| 手机在线电影一区| 日韩欧美在线观看强乱免费| 亚欧洲精品视频在线观看| 精品国产乱码久久久久久蜜柚| 欧美视频二区欧美影视| 91九色视频在线| 成人污版视频| 亚洲v日韩v综合v精品v| 免费观看在线一区二区三区| 91午夜理伦私人影院| 成人亚洲精品| 亚洲最大av在线| 无码国模国产在线观看| 成人午夜电影免费在线观看| 97视频一区| 国产乱子伦精品| 久久精品色综合| 免费成人深夜夜行视频| 自拍视频一区| 亚洲看片网站| 国产精品久久久乱弄| 亚洲国产一二三精品无码 | 日韩色av导航| 污污片在线免费视频| 韩剧1988免费观看全集| 日韩电影免费观| 国产欧美 在线欧美| 四虎地址8848精品| 91在线国产电影| 一区二区三区免费在线看| 成人区精品一区二区| 日韩深夜福利| 色综合久久久久久久久五月| 国产精品久久久久无码av| 99er在线视频| 久久精品日产第一区二区| 污污视频网站免费观看| 精品亚洲国产成人av制服丝袜| 18禁一区二区三区| 91视频在线观看免费| 神马久久久久久久久久久| 综合久久国产九一剧情麻豆| 久久精品欧美一区二区| 色婷婷亚洲一区二区三区| 国产精品一区二区人人爽| 精品国产免费视频| 国产二区视频在线观看| 欧美成人免费一级人片100| 在线黄色的网站| 91久久国产精品| 日韩激情网站| 中文欧美字幕免费| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | av网站在线播放| 欧美乱大交xxxxx另类电影| 天堂电影一区| 亚洲最大成人在线| 欧美美乳视频| www.avtt| 美女网站在线免费欧美精品| 黄色性视频网站| 国产精品久久久久一区| 国产视频91在线| 欧美精品久久天天躁| 日韩性xxxx| 久久激情视频免费观看| 深夜福利视频一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 久cao在线| 日韩av片电影专区| 高清欧美性猛交xxxx黑人猛| 亚洲精品日韩成人| 香蕉精品999视频一区二区| 日韩a一级欧美一级| 国产亚洲一区二区三区在线观看| 麻豆视频在线观看| 欧美日韩国产成人在线91| 视频国产在线观看| 欧美黄色性视频| av在线成人| 亚洲国产精品毛片| 欧美亚洲一区| 国产精品无码在线| 亚洲综合图片区| 国产三级三级在线观看| 在线观看日韩欧美| 偷拍中文亚洲欧美动漫| 国产伦精品一区| 影音先锋久久久| 女同性αv亚洲女同志| 国产探花一区在线观看| 在线一区二区日韩| 国产777精品精品热热热一区二区| 成人性教育视频在线观看| 韩日一区二区三区| 欧美日韩国产精品激情在线播放| 成人丝袜18视频在线观看| caoporn91| 欧美一区二区三区性视频| 欧美三级黄网| 国产精品视频网址| 欧美日韩色图| 日韩精品免费播放| 国产丝袜欧美中文另类| 天天干天天操天天爱| 日韩精品中文字幕在线| 密臀av在线播放| 精品日本一区二区三区| 国产精品外国| 在线观看日韩精品视频| 精品久久久久久久大神国产| 人妻无码中文字幕免费视频蜜桃| 欧美高清视频在线观看| 亚洲视频一起| a天堂资源在线观看| 粉嫩13p一区二区三区| 午夜偷拍福利视频| 亚洲国产精彩中文乱码av在线播放 | 你懂的在线观看一区二区| 国产精品专区在线| aaa亚洲精品| 亚洲欧美偷拍视频| 一区二区三区 在线观看视| 2019年精品视频自拍| 亚洲一区在线直播| 国产米奇在线777精品观看| 久久久久久久久久久网| 亚洲精品一区二区三区影院| 国产三级电影在线播放| 日本婷婷久久久久久久久一区二区| 久久精品国语| 网爆门在线观看| 日韩欧美亚洲一区二区| free性护士videos欧美| 久久综合中文色婷婷| 免费成人在线网站| 日韩一级片大全| 亚洲精品美女在线观看| 性欧美freehd18| 久久视频免费在线| av高清不卡在线| 中文永久免费观看| 精品中文字幕在线2019| 日韩高清一级| 欧美美女性视频| 亚洲第一福利视频在线| 看电影就来5566av视频在线播放| 国产在线观看一区二区三区 | 亚洲欧美电影院| 天天干在线观看| 国产精品视频播放| 欧美日韩第一区| 亚洲精品国产一区黑色丝袜| 538在线一区二区精品国产| 丁香花视频在线观看| 天堂va久久久噜噜噜久久va| 国产99久久精品| 懂色av蜜臀av粉嫩av喷吹| 欧美精品性视频| 国产欧美日韩在线观看视频| 国产精品熟女一区二区不卡| 色婷婷精品久久二区二区蜜臂av| 中文字幕中文字幕在线十八区|