16 檔案伺服器之二: SAMBA 伺服器 如果想要共用檔案,在 Linux 對 Linux 的環境下,最簡單的方法就是透過 NIS 這玩意兒了!至於 Windows 對 Windows 的環境下,最簡單的方法則 是『網路上的芳鄰』啊。那如果你的區網中有 Windows 也有 Linux 而且想 要共用檔案系統的話,那該怎辦?那就使用.

Slides:



Advertisements
Similar presentations
本章重点内容  SMB 协议和 Samba 简介  安装和启动 Samba  配置 Samba 文件共享  配置 Samba 打印共享  在 Linux 环境下访问 Samba 共享.
Advertisements

LearnMode學習吧 行動學習 網站註冊程序 長榮中學 電腦中心 製.
第15章 配置Samba服务器 微软最有价值专家(MVP) IT集成课程视频教学下载地址
Windows與Linux資源共享 SAMBA
架設 Samba伺服器.
Hadoop 單機設定與啟動 step 1. 設定登入免密碼 step 2. 安裝java step 3. 下載安裝Hadoop
國立高雄海洋科技大學 電子郵件收信軟體設定說明
通訊 授課:方順展.
臺北市立大學 資訊科學系(含碩士班) 賴阿福
VMware Player 安裝說明 2018/11/14.
Transparent proxy 班級:資傳四A 組員:林佳辰 陳星宇 邱鈺翔
TCP協定 (傳輸層).
PDFCreator安裝教學.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
JDK 安裝教學 (for Win7) Soochow University
第1章 認識Arduino.
第二章 Linux基本指令與工具操作 LINUX 按圖施工手冊.
Google Data API Spreadsheet
HiNet 光世代非固定制 用戶端IPv6設定方式說明
在NS-2上模擬多個FTP連線,觀察頻寬的變化
桌面環境簡介及IDE開發工具 Outline (一)什麼是Linux? (二)桌面環境系統簡介 (三)IDE開發工具.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
第03章 Samba服务的配置与应用 本章导读 Samba的概述 Samba服务的配置文件 Samba服务的文件共享
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
第 29 章 架設 Samba 伺服器 著作權所有 © 旗標出版股份有限公司.
安裝JDK 安裝Eclipse Eclipse 中文化
Windows與Linux資源共享 SAMBA
Echo Server/Client Speaker:Fang.
OpenID與WordPress使用說明
連結資料庫管理系統.
Unit 04 虛擬機器建構實驗 M. S. Jian Department of Computer Science and Information Engineering National Formosa University Yunlin, Taiwan, ROC.
檔案與磁碟的基本介紹.
雲端計算.
檔案傳輸協定(FTP) 9.1 什麼是檔案傳輸協定 9.2 常用的FTP指令 9.3 Windows內建的FTP 9.4 瀏覽器的FTP功能
FTP檔案上傳下載 實務與運用.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
電腦攻擊與防禦 使用電腦教室VMware軟體說明.
UpToDate Anywhere 設定方法
本院使用建教合作之輔仁大學 圖書館資料庫 設定方式說明
Linux作業系統 電腦教室Linux使用說明.
精明使用互聯網教育計劃 K9下載及安裝教學篇.
Firewall-pfsense Mars Su
人文與科技的結合 人文與科技的結合 Right Fax使用說明.
Google協作平台+檔案分享(FileZilla+網路芳鄰)
期末考.
個人網路空間 資訊教育.
指導老師:溫翔安 組員:溫允中4970E011 李雅俐4970E025 蕭積遠4970E026 陳欣暉4970E086
如何使用Gene Ontology 網址:
探測工具:NetCat.
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
雲端計算.
取得與安裝TIDE 從TIBBO網站取得TIDE
MiRanda Java Interface v1.0的使用方法
編輯網頁可用那些應用程式? 記事本 Word FrontPage Dreamweaver.
基本指令.
程式移植.
1. 查詢個人電腦版本 1.進入控制台 2.點選“所有控制台項目” 3.點選“系統”.
國立屏東大學宿舍網路連線 設定說明 104/08/12.
Cloud Operating System - Unit 03: 雲端平台建構實驗
國立台灣大學 關懷弱勢族群電腦課程 By 資訊工程 黃振修
資料擷取與監控應用實務.
網路安全管理個人報告 封包偽裝攻擊 A 魏兆言 2007/11/30.
Virtualization.
連結資料庫 MYSQL.
Linux网络配置管理.
Develop and Build Drives by Visual C++ IDE
雲端電腦教室 Matlab 使用介紹 1. 工作目錄切換 2. 把 matlab 的檔案存出來 3. Matlab 軟體介面.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
Presentation transcript:

16 檔案伺服器之二: SAMBA 伺服器 如果想要共用檔案,在 Linux 對 Linux 的環境下,最簡單的方法就是透過 NIS 這玩意兒了!至於 Windows 對 Windows 的環境下,最簡單的方法則 是『網路上的芳鄰』啊。那如果你的區網中有 Windows 也有 Linux 而且想 要共用檔案系統的話,那該怎辦?那就使用 Samba 伺服器吧!Samba 可 以讓 Linux 加入 Windows 的網芳支援,讓異質平台可以共用檔案系統!非 常好用的呦!

什麼是 SAMBA SAMBA 的發展歷史與名稱的由來 讓檔案在兩部主機之間直接修改:NFS 與 CIFS 而除了可以讓 Unix Like 的機器互相分享檔案的 NFS 伺服器之外, 在微軟 (Microsoft) 作業系統上面也有類似的檔案系統,那就是 Common Internet File System, CIFS 這個咚咚啦!CIFS 最簡單的 想法就是目前常見的『網路上的芳鄰』咯! P.16-2 請參閱書籍

利用封包偵測逆向工程發展的 SMB Server 在 1991 年一個名叫 Andrew Tridgell 博士班研究生就有這樣的困擾,他 手上有三部機器,分別是跑 DOS 的個人電腦、DEC 公司的 Digital Unix 系統以及 Sun 的 Unix 系統。在當時,DEC 公司有發展出一套稱為 PATHWORKS 的軟體,這套軟體可以用來分享 DEC 的 Unix 與個人電腦 的 DOS 這兩個作業系統的檔案資料,可惜讓 Tridgell 覺得較困擾的是, Sun 的 Unix 無法藉由這個軟體來達到資料分享的目的 (註 1)。 這個時候 Tridgell 就想說:『咦!既然這兩部系統可以相互溝通,沒道 理 Sun 就必需這麼苦命吧?可不可以將這兩部系統的運作原理找出來, 然後讓 Sun 這部機器也能夠分享檔案資料呢?』,為了解決這樣的的問 題,他老兄就自行寫了個 program 去偵測當 DOS 與 DEC 的 Unix 系統 在進行資料分享傳送時所使用到的通訊協定資訊,然後將這些重要的資 訊擷取下來,並且基於上述所找到的通訊協定而開發出 Server Message Block (SMB) 這個檔案系統,而就是這套 SMB 軟體就能夠讓 Unix 與 DOS 互相的分享資料囉! P.16-2~3 請參閱書籍

取名 SAMBA 的主因 ^_^ 既然寫成了軟體,想一想,總是需要註冊一下商標吧!因此 Tridgell 就去申請了 SMBServer (Server Message Block 的簡寫) 這個名字來做為他撰寫的這個軟體的商標,可惜的是,因為 SMB 是沒有意義的文字,因此沒有辦法達成註冊。既然如此的話,那 麼能不能在字典裡面找到相關的字詞可以做為商標來註冊呢?翻 了老半天,呵呵!這個 SAMBA 剛好含有 SMB ,又是熱情有勁的 拉丁舞蹈的名稱,不然就用這個名字來做為商標好了!這成為我 們今天所使用的 SAMBA 的名稱由來啦!^_^ P.16-3 請參閱書籍

SAMBA 常見的應用 分享檔案與印表機服務; „可以提供使用者登入 SAMBA 主機時的身份認證,以提供不 同身份者的個別資料; „可以進行 Windows 網路上的主機名稱解析 (NetBIOS name) „可以進行裝置的分享 (例如 Zip, CDROM...) P.16-3 請參閱書籍

SAMBA 使用的 daemons 取得對方主機的 NetBIOS name 定位該主機所在 利用對方給予權限存取可用資源 nmbd:這個 daemon 是用來管理工作群組啦、NetBIOS name 啦等等的解析。主要利用 UDP 協定開啟 port 137, 138 來負責名稱解析的任務; smbd:這個 daemon 的主要功能就是用來管理 SAMBA 主 機分享的目錄、檔案與印表機等等。主要利用可靠的 TCP 協 定來傳輸資料,開放的埠口為 139 及 445(不一定存在) 。 P.16-5~6 請參閱書籍

SAMBA 伺服器的基礎設定 Samba 所需軟體及其軟體結構 samba:這個軟體主要提供了 SMB 伺服器所需的各項服務 程式 (smbd 及 nmbd)、 的文件檔、以及其他與 SAMBA 相 關的 logrotate 設定檔及開機預設選項檔案等; samba-client:這個軟體則提供了當 Linux 做為 SAMBA Client 端時,所需要的工具指令,例如掛載 SAMBA 檔案格 式的 mount.cifs、 取得類似網芳相關樹狀圖的 smbtree 等 等; samba-common:這個軟體提供的則是伺服器與用戶端都 會使用到的資料,包括 SAMBA 的主要設定檔 (smb.conf)、 語法檢驗指令 (testparm) 等等; P.16-9 請參閱書籍

/etc/samba/smb.conf:這是 Samba 的主要設定檔,基本 上,咱們的 Samba 就僅有這個設定檔而已,且這個設定檔 本身就是很詳細的說明文件了,請用 vim 去查閱它吧!主 要的設定項目分為伺服器的相關設定 (global),如工作群組、 NetBIOS 名稱與密碼等級等,以及分享的目錄等相關設定, 如實際目錄、分享資源名稱與權限等等兩大部分。 P.16-9 請參閱書籍

/usr/sbin/{smbd,nmbd}:伺服器功能,就是最重要的權限 管理 (smbd) 以及 NetBIOS name 查詢 (nmbd) 兩個重要的 服務程式; /usr/bin/{tdbdump,tdbtool}:伺服器功能,在 Samba 3.0 以後的版本中,使用者的帳號與密碼參數已經轉為使用資料 庫了!Samba 使用的資料庫名稱為 TDB (Trivial DataBase)。既然是使用資料庫,當然要使用資料庫的控制 指令來處理囉。tdbdump 可以察看資料庫的內容,tdbtool 則可以進入資料庫操作介面直接手動修改帳密參數。不過, 你得要安裝 tdb-tools 這個軟體才行; /usr/bin/smbstatus:伺服器功能,可以列出目前 Samba 的連線狀況,包括每一條 Samba 連線的 PID, 分享的資源, 使用的用戶來源等等,讓你輕鬆管理 Samba 啦; 續下頁 P.16-10 請參閱書籍

/usr/bin/{smbpasswd,pdbedit}:伺服器功能,在管理 Samba 的 使用者帳號密碼時,早期是使用 smbpasswd 這個指令,不過因為 後來使用 TDB 資料庫了,因此建議使用新的 pdbedit 指令來管理 用戶資料; /usr/bin/testparm:伺服器功能,這個指令主要在檢驗設定檔 smb.conf 的語法正確與否,當你編輯過 smb.conf 時,請務必使 用這個指令來檢查一次,避免因為打字錯誤引起的困擾啊! /sbin/mount.cifs:用戶端功能,在 Windows 上面我們可以設定 『網路磁碟機』來連接到自己的主機上面。在 Linux 上面,我們則 是透過 mount (mount.cifs) 來將遠端主機分享的檔案與目錄掛載 到自己的 Linux 主機上面哪! /usr/bin/smbclient:用戶端功能,當你的 Linux 主機想要藉由 『網路上的芳鄰』的功能來查看別台電腦所分享出來的目錄與裝置 時,就可以使用 smbclient 來查看啦!這個指令也可以使用在自 己的 SAMBA 主機上面,用來查看是否設定成功哩! P.16-10 請參閱書籍

基礎的網芳分享流程與 smb.conf 的常用設定項目 立刻實作 假設你打開 Windows XP 的檔案總管,在 D:\VBird\Data 這個 目錄下,你按下右鍵選『共用與安全性』,之後,在出現的視 窗中,你選擇:『你瞭解這個安全風險,但仍不要執行精靈而 共用檔案,請按這裡』,然後勾選:『在網路上共用這個資料 夾』,最後共用的名稱你輸入了:『VBGame』,請問,假設 你的 IP 是 192.168.100.20 ,那麼你的用戶會看到什麼網址列? 答:網芳的資源名稱通常的寫法是:『 \\IP\分享資源名稱』, 我們的分享資源名稱為 VBGame,因此最終這個分享的資源 名稱應該是:『 \\192.168.100.20\VBGame 』才對!很多朋 友都會寫成:『 \\192.168.100.20\VBird\Game 』那錯得很離 譜喔! P.16-11~12 請參閱書籍

伺服器整體設定方面:在 smb.conf 當中設定好工作群組、 NetBIOS 主機名、密碼使用狀態 (無密碼分享或本機密碼) 等等; 建立所需要的檔案系統:根據步驟 2 的設定,在 Linux 檔案系 統當中建立好分享出去的檔案或裝置,以及相關的權限參數; 建立可用 Samba 的帳號:根據步驟 2 的設定,建立所需的 Linux 實體帳號,再以 pdbedit 建立使用 Samba 的密碼; 啟動服務:啟動 Samba 的 smbd, nmbd 服務,開始運轉哩! 在 smb.conf 當中,井字號與分號 (# 跟 ;) 都是註解符號; „ 在這個設定檔中,大小寫是沒關係的!因為 Windows 沒分 大小寫! P.16-12 請參閱書籍

workgroup = 工作群組的名稱:注意,主機群要相同; „netbios name = 主機的 NetBIOS 名稱啊,每部主機均不同; „server string = 主機的簡易說明,這個隨便寫即可。 P.16-12~13 請參閱書籍

display charset = 自己伺服器上面的顯示編碼,例如你在 終端機時所查閱的編碼資訊。一般來說,與底下的 unix charset 會相同。 „ unix charset = 在 Linux 伺服器上面所使用的編碼,一般來 說就是 i18n 的編碼囉!所以你必須要參考 /etc/sysconfig/i18n 內的『預設』編碼。 „dos charset = 就是 Windows 用戶端的編碼了!一般來說 我們的繁體中文 Windows 使用的是 big5 編碼,這個編碼 在 Samba 內的格式被稱為『 cp950 』喔! P.16-13 請參閱書籍

security = share, user, domain:三選一,這三個設定值分 別代表: „user:使用 SAMBA 伺服器本身的密碼資料庫,密碼資料庫與 底下的 passdb backend 有關; „domain:使用外部伺服器的密碼,亦即 SAMBA 是用戶端之意, 如果設定這個項目,你還得要提供『password server = IP』的 設定值才行; encrypt passwords = Yes 代表密碼要加密,注意那個 passwords 要有 s 才對! passdb backend = 資料庫格式,如前所述,為了加快速度, 目前密碼檔已經轉為使用 資 料 庫 了 ! 預 設 的 資 料 庫 格 式 微 tdbsam , 而 預 設 的 檔 案 則 放 置 到 /var/lib/samba/private/passwd.tdb。 P.16-14 請參閱書籍

分享資源的相關參數設定 [分享的名稱] [分享名稱]:這個分享名稱很重要,它是一個『代號』而已。記得 回去看看 16.2.2 裡面提到的那個範例; comment:只是這個目錄的說明而已! „path:這個分享名稱實際會進入的 Linux 檔案系統 (目錄)。也就是 說,在網芳當中看到的是 [分享] 的名稱,而實際操作的檔案系統 則是在 path 裡頭所設定的。 „browseable:是否讓所有的使用者看到這個項目? „writable:是否可以寫入?這裡需要注意一下喔!那個 read only 與 writable 不是兩個蠻相似的設定值嗎?如果 writable 在這裡設 定為 yes ,亦即可以寫入,如果 read only 同時設定為 yes ,那 不就互相抵觸了!那個才是正確的設定?答案是:最後出現的那個 設定值為主要的設定! create mode 與 directory mode 都與權限有關的咯! writelist = 使用者, @群組,這個項目可以指定能夠進入到此資源 的特定使用者。如果是 @group 的格式,則加入該群組的使用者 均可取得使用的權限,設定上會比較簡單! P.16-14~15 請參閱書籍

需帳號密碼才可登入的分享 (security = user) 比較重要的是 Samba 使用者帳號必須要存在於 Linux 系統當中 (/etc/passwd),但是 Samba 的密碼與 Unix 的密碼檔案並不相同 (這是因為 Linux 與網芳的密碼驗證方式及編碼格式不同所致)。這 就比較有點小麻煩~沒關係,就讓我們依樣畫葫蘆來處理一下這 個部分的設定吧! P.16-21 請參閱書籍

„使用者認證層級設定 (security) 為:user 0. 假設條件 „使用者認證層級設定 (security) 為:user „使用者密碼檔案使用 TDB 資料庫格式,預設檔案在 /var/lib/samba/private/ 內; „密碼必須要加密; „每個可使用 samba 的使用者均擁有自己的家目錄; 設定三個用戶,名稱為 smb1, smb2, smb3 ,且均加入 users 為次要群組。此三個用戶 Linux 密碼為 1234, Samba 密碼則為 4321; „分享 /home/project 這個目錄,且資源名稱取名為: project; „加入 users 這個群組的使用者可以使用 //IP/project 資源, 且在該目錄下 users 這個群組的使用者具有寫入的權限。 P.16-21~22 請參閱書籍

1. 設定 smb.conf 設定檔與目錄權限相關之設定 P.16-22 請參閱書籍

P.16-22~23 請參閱書籍

立刻實作 我們預計要分享 /home/project 目錄,這個目錄的權限該如何 設定? 答:因為是要開放給 users 群組,而共享群組的權限通常是 『 2770 』這個含有 SGID 的特殊旗標功能。因此這個目錄應 該如此設定才好: P.16-23 請參閱書籍

2. 設定可使用 Samba 的用戶帳號與密碼 在 Linux 這個系統下,任何程序都需要取得 UID 與 GID (User ID 與 Group ID) 的身份之後,才能夠擁有該身份的權 限,也才能夠適當的進行存取檔案等動作! 關於 Linux 這個系統的 UID 與 GID 與帳號的相對關係,一 般記錄在 /etc/passwd 當中,當然也能透過 NIS, ldap 等方 式來取對應; SAMBA 僅只是 Linux 底下的一套軟體,使用 SAMBA 來進 行 Linux 檔案系統時,還是需要以 Linux 系統下的 UID 與 GID 為準則! P.16-24 請參閱書籍

P.16-24~25 請參閱書籍

P.16-25~26 請參閱書籍

3. 重新啟動 Samba 並進行自我測試 P.16-26~27 請參閱書籍

P.16-27 請參閱書籍

安全性的議題與管理 SELinux 的相關議題: P.16-40~41 請參閱書籍

防火牆議題:利用 iptables 來管理 P.16-41~42 請參閱書籍

防火牆議題:透過內建的 Samba 設定 (smb.conf) P.16-42 請參閱書籍

Linux 系統的使用 smbclient:查詢網芳分享的資源,以及使用類似 FTP 的方式 上傳/下載網芳 P.16-50 請參閱書籍

mount.cifs:直接掛載網芳成為網路磁碟機 P.16-51 請參閱書籍