samba服務、安裝-smbpasswd工具、pdbedit工具、testparm工具

在Windows構建的網絡生態里,各主機間的文件及打印資源共享,主要依賴微軟專有的SMB/CIFS網絡協議來達成。SMB(即Server Message Block,服務消息塊)與CIFS(全稱Common Internet File System,通用互聯網文件系統),作為微軟自研的私有協議,它們在促進系統間高效數據交換方面扮演著關鍵角色。

換言之,在基于Windows的網絡體系中,主機間的文件和打印機資源分享,是通過微軟特制的SMB/CIFS網絡協議來實現的。SMB協議(服務消息塊)與CIFS協議(通用互聯網文件系統)均為微軟的私有技術,它們在確保不同主機間順暢的信息流通中發揮著核心作用。

在Samba項目誕生前,實現Linux/UNIX系統與Windows系統的直接通信頗具挑戰。

Samba作為開源界備受推崇的項目之一,其核心貢獻在于于Linux/UNIX環境中成功復現了微軟的SMB/CIFS網絡協議。這一壯舉極大地簡化了跨平臺文件共享的流程。對于那些采用Windows、Linux/UNIX混合架構的企業而言,Samba的引入無異于一場及時雨,它巧妙地消除了不同操作系統間文件訪問的障礙,促進了多平臺環境下的高效協作。

換句話說,在Samba問世之前,Linux/UNIX系統與Windows系統間的直接溝通存在較大難度。而Samba通過在非Windows系統上實現SMB/CIFS協議,使得跨平臺文件共享變得輕而易舉。對于運行著Windows和Linux/UNIX混合環境的企業來說,Samba的使用能夠有效解決文件互通的問題,大大提升了多系統共存場景下的工作便利性。

Samba主要由以下幾個部分組成:

  1. smbd:處理所有SMB/CIFS網絡連接,它監聽TCP端口139和445,接收并響應來自客戶端的請求。

(負責為客戶?機提供服務器中共享資源(目錄和文件等)的訪問。)

  1. nmbd:處理NetBIOS名稱解析,它監聽UDP端口137和138。

(負責提供基于NetBIOS協議的主機名稱解析 以便為Windows?網絡中的主機提供查詢服務。)

  1. winbindd:提供額外的功能,如用戶和組管理,以及將NTLM或Kerberos身份驗證轉發到遠程系統。

安裝samba服務

對于Debian、Ubuntu和類似的基于APT的系統:

apt update
apt install samba samba-common-bin

對于RHEL、CentOS、Fedora和類似的基于YUM或DNF的系統:

sudo yum install samba samba-client samba-common

或者,在較新的系統上使用DNF:

sudo dnf install samba samba-client samba-common

安裝后檢查Samba版本:

smbd -V

配置Samba:

配置文件smb.conf通常位于/etc/samba/目錄下。你可以編輯這個文件來定義共享目錄、安全設置等。例如,要創建一個名為“shared”的共享目錄,你可以在smb.conf中添加以下內容:

[public]comment = Public Documentspath = /home/publicbrowseable = yesread only = noguest ok = yes

這將創建一個名為"public"的共享目錄,路徑為"/home/public",任何人都可以瀏覽和讀寫這個目錄。

然后,你需要重啟Samba服務以使更改生效。

啟動和管理Samba服務:

sudo systemctl start smbd
sudo systemctl enable smbd

檢查Samba服務狀態:

sudo systemctl status smbd

配置段 [global]、[homes]、[printers]

smb.conf 文件中存在三個特殊的配置段。

>[global]?全局設置:這部分配置項的內容對整個?Samba?服務器都有效。

>[homes] ??宿主目錄共享設置:設置Linux用戶的默認共享,對應用戶的宿主目錄。當用戶訪?問服務器中與自己用戶名同名的共享目錄時,通過驗證后將自動映射到該用戶的宿主文件?夾中。

[printers]打印機共享設置:如果需要共享打印機設備,可以在這部分進行配置。

若需要在 smb.conf 文件中設置新的共享文件夾,只需要增加一段如“[myshare]” 開始的共享設?置即可,其中“myshare”為用戶自定義的共享名。新的共享文件夾設置可以參考“[homes]”和“[printers]”?部分的內容。

Smb.conf?文件中常見的配置項及含義說明

配置項??

說明

workgroup

設置服務器所在的工作組名稱.

server string

設置服務器的說明文字,用于描述Samba服務器.

security

設置服務器的安全級別,可設為以下三個值中的一個:user(需由本服務器驗證用戶名及密?碼)、server(需指定另一臺服務器來驗證用戶名及密碼)、ads(由Windows域控制器驗證用 戶名及密碼)。

log file

設置Samba服務器的日志文件,默認存放在/var/log/samba/目錄下,表示將日志文件保存到 /var/log/samba/目錄中,按每個客戶機建立一個日志文件,其中“%m”變量表示客戶端主機?名或IP地址。

passwd backup

設置共享賬戶文件的類型,默認使用tdbsam(TDB數據庫文件)。若網絡內擁有LDAP目錄

認證,這里可以改用ldapsam數據庫文件;另外,若要兼容舊版的Samba密碼文件,也可以

將類型設為smbpasswd。

comment

設置對應共享目錄的注釋、說明信息.。

path

設置對應共享目錄在服務器中的文件夾路徑。

browseable

設置該共享目錄在“網上鄰居”中是否可見,設置為no時相當于隱藏共享目錄。

guest ok

設置是否所有人都可以訪問共享目錄,與“public”配置項的作用相同。

writable

設置該共享目錄是否可寫,與“read only”配置項的作用相反。

smbpasswd工具

smbpasswd 的基本語法如下:

smbpasswd [選項] [用戶名]

用戶賬戶及其權限主要存儲在 smbpasswd 數據庫中。
?

列出所有的samba共享用戶

smbpasswd -L

?如果 -L 選項不可用,你可能需要使用 pdbedit -L 來達到同樣的目的。

需要管理員權限(root) ??

但是,-L 選項并不是所有版本的 smbpasswd 都支持的。如果在你的系統上運行上述命令時遇到問題,可能是因為你的 Samba 版本不支持該選項。在這種情況下,你可以通過查詢 Samba 的用戶數據庫(通常是 /etc/samba/smbpasswd)來獲取用戶列表,但這通常需要更復雜的操作,如使用 awk, cut 或其他文本處理工具來解析數據庫文件。

另一個替代方法是查看 Samba 的配置文件 smb.conf,看是否在其中定義了特定的用戶。但是,通常 smb.conf 并不會直接列出所有用戶,它更多地用于定義共享目錄、權限和其他設置。

如果 smbpasswd -L 不可用或沒有返回你期望的結果,你可以嘗試查看 Samba 的日志文件,或者使用 Samba 提供的其他管理工具,比如 smbclient,但這些方法通常不會直接列出用戶列表。

添加新用戶:

smbpasswd -a 用戶名

這個命令會添加一個新用戶到 Samba 的密碼數據庫中,并要求你輸入兩次密碼以確認。?

修改用戶密碼:

smbpasswd -c 用戶名

刪除用戶:

smbpasswd -x 用戶名

顯示用戶狀態:

smbpasswd -e 用戶名

這個命令會顯示指定用戶的詳細信息,包括是否被禁用、密碼過期日期等。

smbpasswd參數

  1. Username: 用戶名,這是你在 Samba 中識別用戶的唯一標識。

  2. NT-Password: 這個字段通常會被星號 (*) 替代,表示有設置密碼,但實際的密碼不會顯示出來,以保護安全性。

  3. LAN-Manager Password: 類似 NT-Password,如果設置了密碼,這里也會顯示為星號 (*)。

  4. Last password change: 上次更改密碼的日期和時間。

  5. Account expires: 賬戶過期的日期和時間。如果設置為 "never",則表示賬戶永遠不會過期。

  6. Last login: 最近一次成功登錄的日期和時間。

  7. Login count: 自從賬戶創建以來的登錄次數。

  8. Min. password age: 更改密碼前必須等待的最短時間(天數)。如果設置為 "0",則表示沒有最小密碼年齡限制。

  9. Max. password age: 密碼有效期的最大時間(天數)。如果設置為 "0" 或 "never",則表示密碼永不過期。

  10. Password can change: 密碼可以更改的時間范圍。如果顯示 "now",則表示密碼可以立即更改。

  11. UID: 用戶的 Unix UID(用戶ID)。

  12. GID: 用戶的 Unix GID(組ID)。

  13. Home directory: 用戶的主目錄。

  14. Shell: 用戶的默認 shell。

  15. Account disabled: 如果賬戶被禁用,這里會顯示 "Yes",否則為 "No"。

  16. Account locked: 如果賬戶被鎖定,這里會顯示 "Yes",否則為 "No"。

  17. Temporary account: 如果賬戶是臨時賬戶,這里會顯示 "Yes",否則為 "No"。

  18. Workstation trust account: 如果賬戶是工作站信任賬戶,這里會顯示 "Yes",否則為 "No"。

  19. Interdomain trust account: 如果賬戶是跨域信任賬戶,這里會顯示 "Yes",否則為 "No"。

pdbedit工具

pdbedit 是 Samba 套件中的一個命令行工具,用于管理和查詢 Samba 的用戶數據庫(PassDB)。這個工具允許你添加、刪除、修改和列出 Samba 用戶賬戶,以及查看和設置賬戶的密碼策略和屬性。

pdbedit 的基本語法如下:

pdbedit [選項]...

常見的 pdbedit 選項包括:

  • -L--list:列出所有 Samba 用戶賬戶。這是最常用的選項之一,可以用來查看當前系統中有多少 Samba 用戶,以及他們的用戶名、SID(安全標識符)、UID 和 GID 等信息。

  • -v--verbose:詳細模式,提供更多輸出信息。

  • -W--domain=DOM:指定操作的域,默認為本地機器的域。

  • -a--add=USER:添加一個新的 Samba 用戶賬戶。

  • -u--username=USER:操作指定的 Samba 用戶賬戶。

  • -x--delete=USER:刪除一個 Samba 用戶賬戶。

  • -t--trust-account:標記用戶賬戶為信任賬戶,通常用于域控制器。

  • -m--max-login-timeout=SECONDS:設置最大登錄超時時間(秒)。

  • -r--remove-max-login-timeout:移除最大登錄超時時間。

列出所有samba共享用戶

pdbedit -L

?要添加一個新的 Samba 用戶 john,你可以運行:

sudo pdbedit -a -u john

查看某一個用戶的信息

pdbedit -vL 用戶名

刪除samba用戶

pdbedit -x -u 用戶名

testparm工具

Samba服務器提供了一個配置文件檢查工具——testparm程序,使用?testparm工具可以對smb.conf配置文件的正確性進行檢查,如果發現有錯誤將會進行提醒。

testparm 命令的語法

testparm [選項] [配置文件]

常見的選項包括:

  • -s:這個選項強制?testparm?從標準輸入讀取配置數據,而不是從文件中讀取。這對于調試和測試動態生成的配置文件很有用。
  • -h:顯示幫助信息。
  • -L servername:設置 Samba 服務器的名字。
  • -v:詳細模式,提供更多的輸出信息。
  • -D:調試模式,提供調試級別的輸出信息。

如果沒有指定配置文件,testparm 將默認查找 /etc/samba/smb.conf 或者其他默認位置的配置文件。

例如:

sudo testparm

這將檢查默認的 smb.conf 文件,并輸出關于配置的信息,包括任何語法錯誤或警告。

如果配置文件不在默認位置,你可以指定配置文件的完整路徑:

sudo testparm /path/to/your/smb.conf

testparm 的輸出會包含 Samba 服務器的全局參數、共享設置、安全選項、用戶和密碼策略等信息,有助于確保 Samba 服務能夠按照預期工作。

在修改了 smb.conf 文件后,使用 testparm 是一個良好的實踐,可以避免不必要的服務啟動失敗或功能問題。如果 testparm 報告了錯誤,你應該根據輸出的信息來修正配置文件,然后再嘗試重啟 Samba 服務。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45756.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45756.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45756.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ShardingSphere的項目應用

1. 事情的起因 最近,隨著業務的發展,我們的項目面臨著日益增長的數據挑戰。系統使用的數據庫是mysql,每天的增量差不多在百萬左右,由于沒有進行分庫分表,以前設置的單表保存已經越發不能滿足需求,所以想維持表的性能,甲方考慮對這些大數據量的表進行分表操作,同時也采…

MySQL left join、right join以及inner join的區別 ?

LEFT JOIN(左連接)、RIGHT JOIN(右連接)和INNER JOIN(內連接)是SQL中用于連接兩個或多個表以檢索數據的重要操作。它們之間的主要區別在于如何處理那些在連接條件下沒有匹配的行。下面通過具體的例子來說明…

掃地機器人如何解決安全性與隱私保護

掃地機器人在解決安全性與隱私保護方面,需要從多個角度入手,包括產品設計、技術實現、用戶教育以及法律法規遵守等方面。以下是具體的解決方案: 一、安全性解決方案 1.提升避障能力:使用先進的傳感器技術,如激光雷達、…

JavaScript switch 語句

JavaScript switch 語句 JavaScript 中的 switch 語句是一種多分支選擇結構,用于根據變量的值執行不同的代碼塊。它提供了一種簡潔的方式來替代多個 if...else 語句,特別是在處理多個條件時。 基本語法 switch (expression) {case value1:// 代碼塊 1…

微信小程序實現省市區級聯選擇組件

微信小程序實現省市區級聯選擇組件 首先&#xff0c;創建一個新的組件&#xff0c;命名為 area-picker。 在 area-picker.wxml 文件中添加以下代碼&#xff1a; <view class"area-picker"><picker mode"multiSelector" bindchange"onPick…

C++基礎篇(2)

目錄 前言 1.缺省參數 2.函數重載 2.1函數重載的基本規則 ?編輯2.2注意事項 2.3 重載解析&#xff08;Overload Resolution&#xff09;--補充內容 3.引用 3.1引用的概念和定義 3.2引用的特性 3.3引用的使用 3.4const引用 4.指針和引用的關系 結束語 前言 上節小編…

PlantUML 教程:繪制時序圖

繪制時序圖是 PlantUML 的一個強大功能&#xff0c;下面是詳細的 PlantUML 時序圖教程&#xff0c;幫助你理解如何使用它來創建清晰的時序圖。 基本概念 時序圖&#xff08;Sequence Diagram&#xff09;用于展示對象之間的交互以及它們之間的消息傳遞順序。它主要由以下元素…

感應燈光畫純電路開源版本

前言 之前那版燈光畫用的從垃圾佬淘的電路板拼出來的&#xff0c;功能不全&#xff0c;顯示效果不太好而且無法固定到相框上&#xff0c;這次改版用的嘉立創smt&#xff0c;貼了5片板子&#xff08;19元&#xff09;&#xff0c;功能上的改進是加了無極觸摸調光、添加了黃白兩…

簡易圖書管理系統——MYsql+Javase+JDBC

目錄 前言 數據表的建立 操作包各個類的實現 增加類 刪除類 展示類 借閱與歸還類 前言 書接上文 JDBC編程的學習——MYsql版本-CSDN博客 本期我們通過對先前圖書管理系統進行改造,是它的數據能保存在數據庫中 完整代碼我已經保存在github中,能不能給個星呢!!!! call…

debian固定ip

debian固定ip 前言 安裝好的Debian系統后&#xff0c;為了確保每次登陸的ip不變&#xff0c;需要固定 方法 命令如下 ip addr | grep inet因為有有線網和無線網 2 種連接方式&#xff0c;因此需要區別。 其中 enp 的是有線&#xff0c;wlp 的是無線 查看網關 IP 命令如下 …

互聯網末法時代的一些思考

這篇文章也是臨時起意&#xff0c;很長一段時間沒寫個人思考類的文章&#xff0c;主要原因也是時間完全不夠用。隨著年齡的增長&#xff0c;看待問題的視角也逐漸發生變化&#xff0c;例如從關注現象到關注動機&#xff0c;從關注結果到關注起因&#xff0c;2021年的時代我曾經…

java面向對象進階篇--static

一、前言 java進階篇已經開始了&#xff0c;先從面向對象開始&#xff0c;由于時間原因今天就只更新了static部分&#xff0c;內容上特別詳細&#xff0c;一些特別的注意事項也在反復的提醒大家。 溫馨提示一下&#xff0c;往后的java篇會越來越難&#xff0c;希望大家能夠堅…

P2p網絡性能測度及監測系統模型

P2p網絡性能測度及監測系統模型 網絡IP性能參數 IP包傳輸時延時延變化誤差率丟失率虛假率吞吐量可用性連接性測度單向延遲測度單向分組丟失測度往返延遲測度 OSI中的位置-> 網絡層 用途 面相業務的網絡分布式計算網絡游戲IP軟件電話流媒體分發多媒體通信 業務質量 通過…

運維檢查:mysql表自增id是否快要用完

數據庫表中最大自增ID用完會報錯。判斷是否接近或達到自增ID類型的最大值&#xff1a;? 對于MySQL中的自增ID&#xff0c;?如果使用的是int類型&#xff0c;?其無符號&#xff08;?unsigned&#xff09;?的最大值可以達到2^32 - 1&#xff0c;?即4294967295。?如果使用的…

python編程:從入門到實踐(第三版) 筆記

文章目錄 資源網站:https://www.ituring.com.cn/book/3038配置VSCode推薦資源網站推薦資源網址 資源網站:https://www.ituring.com.cn/book/3038 配置VSCode 推薦資源網站 推薦資源網址 英文版主頁&#xff1a; https://ehmatthes.github.io/pcc_3e 中文版主頁&#xff1a; h…

上市公司企業共同機構所有權數據、機構交叉持股數據(2005-2023)

數據來源&#xff1a;基礎數據來源于上市公司企業年報 時間跨度&#xff1a;2005-2023年 數據范圍&#xff1a;企業層面 數據指標&#xff1a; 參考《中國工業經濟》杜勇&#xff08;2021&#xff09;老師的做法&#xff0c;從 3 個維度構造指標反映上市公司共同機構所有權&…

Vue和Element UI 路由跳轉

在Vue.js中&#xff0c;使用Vue Router可以方便地實現頁面之間的路由跳轉。Element UI是一個基于Vue 2.0的桌面端組件庫&#xff0c;它本身并不直接提供路由跳轉的功能&#xff0c;但你可以在使用Element UI的Vue項目中結合Vue Router來實現這一功能。 以下是一個基于Vue和Ele…

Proxyman for Mac v5.6.1 抓包調試工具

Mac分享吧 文章目錄 效果一、下載軟件二、功能三、開始安裝1、雙擊運行軟件&#xff0c;將其從左側拖入右側文件夾中&#xff0c;等待安裝完畢2、應用程序顯示軟件圖標&#xff0c;表示安裝成功 四、運行測試1、打開軟件 安裝完成&#xff01;&#xff01;&#xff01; 效果 一…

【華為OD筆試】2024D卷命題規律解讀【分析300+場OD筆試考點總結】

可上 歐弟OJ系統 練習華子OD、大廠真題 綠色聊天軟件戳 od1441了解算法沖刺訓練&#xff08;備注【CSDN】否則不通過&#xff09; 文章目錄 相關推薦閱讀華為OD筆試2024D卷命題規律解讀華為OD算法/大廠面試高頻題算法練習沖刺訓練 相關推薦閱讀 【華為OD筆試】2024D卷機考套題…

C# Opencv實現本地以圖搜圖

地址&#xff1a;馮騰飛/本地以圖搜圖