1、如何搭建與Windows客戶機結合使用的Samba文件伺服器
# smbpassword -a <username>
最後,我們將訪問系統中用作Samba共享區的一個目錄的許可權授予用戶xmolo(如果需要的話,還可以將訪問許可權授予其他用戶)。要完成這一步,只需用文件編輯器(比如Vim)打開/etc/samba/smb.conf文件,瀏覽到文件末尾,使用描述性名稱,創建一段代碼(將名稱括在方括弧內),比如[xmolo]:
# SAMBA SHARE [xmolo] path = /home/xmolo available = yes valid users = xmolo read only = no browseable = yes public = yes writeable = yes
現在我們必須重啟Samba;為了以防萬一,使用testparm命令檢查smb.conf文件,查找有無語法錯誤:
# service samba restart # testparm要是有什麼錯誤,testparm結束運行後,就會如實報告。
將Samba共享區映射為Windows 7 PC上的網路驅動器
滑鼠右擊Computer(電腦),選擇「Map network drive」(映射網路驅動器):
鍵入安裝有Samba的那台機器的IP地址,隨後鍵入共享區的名稱(這是smb.conf文件中刮在單括弧內的名稱),並確保「Connect using different credentials」(使用不同的登錄資料來連接)復選框已勾選:
輸入之前用「smbpasswd -a」設置的用戶名和密碼:
進入到Computer(電腦),檢查網路驅動器是否已正確添加上去:
為了測試一下,不妨利用Samba的參考手冊頁創建一個PDF文件,並將它保存到/home/xmolo目錄中:
下一步,我們可以證實該文件可以從Windows來進行訪問:
我們可以使用默認的pdf閱讀軟體打開該文件:
最後,不妨看一下我們能否將來自Windows的一個文件保存到剛映射的網路驅動器。我們將打開change.log文件,該文件列出了Notepad++的功能特性:
然後試著將它作為一個明文文件(.txt擴展名)保存到Z:\;然後,不妨看一下該文件在Linux中是否能瀏覽:
啟用配額
第一步,我們需要證實當前內核是不是已經過編譯並支持配額:
# cat /boot/config-$(uname -r) | grep -i config_quota
每一個文件系統最多有五種配額限制可予以實施:用戶軟限制、用戶硬限制、用戶組軟限制、用戶組硬限制和寬限時間。
現在我們將為/home文件系統啟用配額,為此在/etc/fstab文件中對應/home文件系統的那一行,將usrquota和grpquota掛載選項添加到現有的defaults選項;為了讓變更生效,我們將重新掛載文件系統:
下一步,我們需要在/home中創建兩個文件,它們將充當用戶配額和用戶組配額的資料庫:分別是aquota.user和aquota.group。之後,我們將針對啟用配額的文件系統,創建當前磁碟使用表:
# quotacheck -cug /home # quotacheck -avugm
盡管我們已為/home文件系統啟用了配額,但我們還沒有對任何用戶或用戶組設置任何限制。檢查現有用戶/用戶組的配額信息:
# quota -u <username> # quota -g <groupname>
最後,後幾步包括:使用quotatool命令,為每個用戶及/或每個用戶組指定配額(注意:可以使用edquota來執行這項任務,但quotatool更直觀簡單,不太容易出錯)。
想為名為xmolo的用戶將軟限制設置在4 MB、將硬限制設置在5 MB,並為xmolo用戶組將軟限制和硬限制分別設置在10 MB和15 MB:
# quotatool -u xmolo -bq 4M -l '5 Mb' /home # quotatool -g xmolo -bq 10M -l '15 Mb' /home
我們可以在Windows 7中看到結果(4.00MB中3.98MB閑置):
2、linux samba 怎麼訪問共享文件夾
在Linux系統中訪問Samba伺服器中的共享目錄需要使用smbclient命令,當然首先得在對應Linux系統主機中安裝Samba服務的客戶端軟體--smbclient。使用smbclient -L命令(有關smbclient命令的詳細選項可通過smbclient -help命令查看)可以查看指定Samba伺服器上的所有共享目錄。如要瀏覽本示例中Sambaserver上的共享目錄,可以在終端提示符下輸入以下命令:
smbclient -L Sambaserver
在出現提示輸入密碼時,直接按Enter鍵(因為此處是匿名訪問),結果會顯示指定Samba伺服器上當前全部的共享目錄,
使用共享目錄的命令格式為:smbclient //IP地址或主機名/共享目錄名 -U用戶名。
因為此處是匿名訪問,所以無須加上"-U"選項來指定訪問的用戶名。如在此要匿名訪問Sambaserver上的doc目錄,則可以在終端提示符下輸入以下命令:
smbclient //Sambaserver/doc
在出現輸入密碼的password提示符時,直接按Enter鍵,即進入到遠程使用伺服器上指定資源的提示符smb:\>,與FTP客戶端相似,這時可以使用如cd、cat、get等命令對共享目錄和文件進行操作了。注意,這個命令不僅可以訪問Samba伺服器上的共享資源,還可以訪問網路中Windows主機上的共享資源。
3、怎樣在Linux系統搭建Samba共享伺服器
Linux系統默認已經安裝了Samba,但是沒有安裝Samba服務:
1,先查看安裝情況:rpm -qa|grep samba
根據系統的安裝情況選擇下載或者通過光碟機安裝所缺的rpm包。
我的安裝情況是:
使用命令:mount /dev/cdrom1 /mnt/cdrom1
通過mount把cdrom1掛載到系統臨時目錄/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh
samba.*.rpm包安裝。
切換到放置rpm文件的目錄
[root@smb_server root]# rpm
-ivh samba-common-3.6.9-151.el6.x86_64
這是Samba 必備的程序,必須安裝
[root@smb_server root]# rpm
-ivh samba-3.6.9-151.el6.x86_64
安裝Samba 伺服器程序,可以使我Windows 主機訪問Samba 伺服器共享的資源。
如果需要使Linux 主機訪問Windows 主機上的共享資源,則還應該安裝Samba 客戶端程序。
[root@smb_server root]# rpm
-ivh samba-client-3.6.9-151.el6.x86_64
2,安裝samba的rpm包完成後
samba-common-3.6.9-151.el6.x86_64
//主要提供samba伺服器的設置文件與設置文件語法檢驗程序testparm
samba-client-3.6.9-151.el6.x86_64
//客戶端軟體,主要提供linux主機作為客戶端時,所需要的工具指令集
samba-swat-3.6.9-151.el6.x86_64
//基於https協議的samba伺服器web配置界面
samba-3.6.9-151.el6.x86_64
//伺服器端軟體,主要提供samba伺服器的守護程序,共享文檔,日誌的輪替,開機默認選項
Samba伺服器安裝完畢,會生成配置文件目錄/etc/samba和其它一些samba可執行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的啟動/關閉文件。
5、查看samba的服務啟動情況
# service smb status
6、設置開機自啟動
# chkconfig --level 35 smb on //在3、5級別上自動運行samba服務
7、配置smb服務
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = ImgPath05
[ImgPath]
comment = Public stuff
path =
/usr/local/nginx/html/img
public = yes
writeable = yes
browseable =
yes
guest ok = yes
共享目錄為:/usr/local/nginx/html/img,共享目錄對外名稱為:ImgPath 即在Windows看到的目錄名稱。
設置共享目錄許可權:chown -R nobody:nobody /usr/local/nginx/html/img/
8、啟動或者重啟smb服務
重啟smb服務
測試smb.conf配置是否正確
9 Windows訪問共享目錄,但是沒有寫許可權,通過以下方式修改防火牆設置。
將Linux smb服務添加到防火牆的例外中
以root用戶執行setup命令#setup彈出...重啟生效,如果不想重啟,用命令#setenforce 0
4、怎樣設置Samba文件伺服器以使用Windows客戶端
1、設置要先安裝,來安裝完源編輯配置文件即可。
1)、安裝
在Debian上:
# aptitude install samba
在CentOS上:
# yum install samba
2)、添加用戶
adser <username>
3)、添加用戶到Samba,使用帶有『-a』選項的smbpasswd命令來完成,該命令指出後面的用戶名將被添加到本地smbpasswd文件中。我們將被提示輸入密碼(該密碼無需和本地Unix帳號的密碼相同):
# smbpassword -a <username>
4)、最後配置samba目錄即可。
2、Windows端使用samba,只需要映射一下samba伺服器的文件夾即可。具體
1)在計算機上右擊,然後選擇「映射網路驅動器」:
2)輸入安裝了Samba的機器的IP地址,後跟共享名(就是smb.conf文件中方括弧括起來的那個名稱),然後確保選中了「使用不同的憑據連接」:
3)、輸入先前用『smbpasswd -a』設置的用戶名和密碼:
4)進入計算機,然後檢查網路驅動器是否被正確添加即可。
5、怎樣設置Samba文件伺服器以使用Windows客戶端
ed Hat Linux 9.0,則系統會默認安裝Samba組件。我們可以在終端命令窗口輸入以下命令進行驗證:
[root@ahpeng root] rpm -qagrep samba
如果結果出現以下所示的5個軟體包,則表示已經安裝:
samba-swat-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
如果沒有安裝過Samba軟體包,則可以插入第1張安裝光碟,然後滑鼠依次單擊「主菜單→系統設置→添加/刪除應用程序」菜單項,打開「軟體包管理」對話框,在該對話框中找到「Windows文件伺服器」選項,確保該選項處於選中狀態,然後單擊「更新」按鈕即可開始安裝。
你也可以把第1張安裝光碟插入光碟機,然後在終端命令窗口輸入以下命令:
[root@ahpeng root]# cd /mnt/cdrom/RedHat/RPMS
[root@ahpeng RPMS]# rpm -ivh samba*
[root@ahpeng RPMS]# rpm -ivh redhat-config-samba-1.0.4-1.noarch.rpm
二、Linux主機訪問Windows主機
安裝好Samba之後,就有了與Windows互相訪問的基礎。這里先介紹一下如何用字元命令方式訪問Windows宿主機的共享資源。
1、查詢宿主機的共享資源
可以使用「smbclient –L WindowsHostName」命令(此處的WindowsHostName用Windows主機名代替)。本例是要查詢Windows主機Peter 上的共享資源,可以在終端窗口輸入「smbclient –L Peter」命令,然後回車即可看到Windows主機的共享資源。
2、連接宿主機的共享目錄
可以使用「smbclient //WindowsHostName/ShareName」命令來連接Windows主機上的某個共享文件夾,如果該共享文件夾需要用戶名和密碼,則可以使用「smbclient //WindowsHostName/ShareName –U UserName」命令。例如要連接Windows主機Peter上的共享目錄Share,我們可以在終端窗口輸入「smbclient //Peter/Share」命令然後回車即可。
如果連接成功,即可出現「smb:>」提示符,在該命令提示符下輸入適當的命令,即可對所連接的共享目錄進行操作。
Smb支持的命令有大約40個命令,可以很方便地對共享目錄進行刪除、重命名、切換目錄等操作。如果要列出共享目錄「Share」下的具體內容,可以使用ls命令。要刪除其下的test.txt文件,可以使用「del test.txt」命令。共2頁。
3、映射網路驅動器
我們知道,Windows下可以將共享目錄映射為網路驅動器,這樣就可以把共享目錄當成本地文件夾來使用。在Linux下可以藉助於 smbmount命令來實現,具體的命令參數是「smbmount //WindowsHostName/ShareName /mnt/smbdir」(此處的ShareName指代Windows共享資源名稱,smbdir指代掛載點名稱)。假設要將Windows主機 Peter下的共享文件夾Share映射為/mnt/WinShare目錄,具體步驟是:
首先在/mnt目錄下創建一個目錄,假設為/mnt/WinShare;
然後打開終端命令窗口,運行「smbmount //Peter/Share /mnt/WinShare」即可。
現在再在文件管理器里打開/mnt/WinShare目錄可以看到共享目錄的內容,要卸載該映射目錄,可以使用umount命令。
4、用Nautilus訪問Windows主機
藉助Gnome桌面下的文件管理器Nautilus,我們可以用圖形界面來訪問Windows主機,這里要注意的是Nautilus只是提供訪問Windows主機的圖形界面,具體的底層操作還是藉助於Samba客戶端來完成。
在Gnome桌面環境下,單擊「主菜單→網路伺服器」菜單項,即可用Nautilus文件管理器查看工作組列表。雙擊工作組名稱,即可看到其下的Windows主機。
雙擊其中的某台Windows主機圖標,即可看到該主機的共享文件夾,可以看到這和Windows下的網路鄰居幾乎一樣。
由於Nautilus本身就是Red Hat Linux的文件管理器,所以我們可以任意往Windows共享目錄里拷貝文件、刪除文件、創建目錄等等(對於windows 2000/XP主機還需要考慮該共享資源的許可權設置)。
三、Windows主機訪問Linux主機
要想讓Windows宿主機能夠訪問Linux虛擬機,就必須在Linux虛擬機上啟動Samba服務。在啟動之前,還需要對Samba服務的屬性進行配置,例如指定Linux虛擬機的共享目錄、所在的工作組名稱等。
1、配置Samba伺服器
在以前版本的Red Hat Linux,我們必須直接修改Samba配置文件smb.conf,或者使用SWAT對Samba進行全方位的設置。Red Hat Linux 9.0新引入了一個圖形化的Samba伺服器配置工具,可以讓我們很方便地對Samba伺服器進行配置。以root用戶身份登錄系統,單擊「主菜單→系統設置→伺服器設置→Samba伺服器」菜單項,即可打開Samba伺服器配置對話框。也可以在終端命令窗口輸入「redhat-config- samba」,來訪問Samba伺服器配置對話框。
首先對Samba伺服器的基本設置和安全選項進行配置,單擊配置對話框上的「首選項→伺服器設置」菜單項,即可打開伺服器設置對話框。
基本設置:在對話框的「基本」標簽頁,我們可以指定Linux主機所在的工作組名稱,需要注意的是,此處的工作組名稱不一定非得與Windows主機所在的工作組名稱一致。
安全設置:然後進行Samba伺服器安全設置,這里一共有4個選項。
「驗證模式」代表如果Windows主機不是位於NT域里,此處應該選擇「共享」驗證模式,這樣只有在連接Samba伺服器上的指定共享時才要求輸入用戶名、密碼;「驗證伺服器」代表對於「共享」驗證模式,無需啟用此項設置;「加密口令」選項應該選擇「是」,這樣可以防止黑客用嗅探器截獲密碼明文;「來賓賬號」代表當來賓用戶要登錄入 Samba 伺服器時,他們必須被映射到伺服器上的某個有效用戶。選擇系統上的現存用戶名之一作為來賓Samba賬號。當用戶使用來賓賬號登錄入 Samba 伺服器,他們擁有和這個用戶相同的特權。
添加共享目錄:單擊Samba配置對話框工具欄上的「增加」按鈕。在打開的對話框中的「基本」標簽頁上,指定(共享)目錄為某個存在的目錄,例如可以指定/tmp,再指定該目錄的基本許可權是只讀還是讀/寫。在「訪問」標簽頁上,可以指定允許所有用戶訪問、或者只允許某些用戶訪問。
2、啟動Samba伺服器
打開終端命令窗口,輸入「/sbin/service smb start」命令,即可出現以下提示信息,表示Samba服務已經啟動。
# /sbin/service smb start
啟動SMB 服務 [確定]
啟動NMB 服務 [確定]
接下來在Windows里打開「網路鄰居」,就可以看到我們剛才設置的Samba伺服器了
6、通過linux中的samba伺服器共享文件夾,並在win中能訪問到(可讀可寫)
17.2. 配置 Samba 伺服器
默認的配置文件(/etc/samba/smb.conf)允許用戶作為 Samba 共享來查看他們的 Red Hat Linux 主目錄。它還把為 Red Hat Linux 配置的列印機作為 Samba 共享列印機來共享。換一句話說,你可以在你的 Red Hat Linux 系統上連接列印機,然後從網路上的 Windows 機器來列印。
17.2.1. 圖形化配置
要使用圖形化界面來配置 Samba,使用 Samba 伺服器配置工具。要使用命令行來配置,請跳到第 17.2.2 節。
Samba 伺服器配置工具是用來管理 Samba 共享、用戶、以及基本伺服器設置的圖形化界面。它修改 /etc/samba/ 目錄中的配置文件。沒有使用該程序進行的改變都會被保留。
要使用該程序,你必須在運行 X 窗口系統,具備根特權,並且安裝了 redhat-config-samba RPM 軟體包。要從桌面啟動 Samba 伺服器配置工具,點擊面板上的「主菜單」 => 「系統設置」 => 「伺服器設置」 => 「Samba 伺服器」,或在 shell 提示(如 XTerm 或 GNOME 終端)下鍵入 redhat-config-samba 命令。
圖 17-1. Samba 伺服器配置工具
注記
Samba 伺服器配置工具不顯示允許用戶在 Samba 伺服器上查看他們自己的主目錄的共享列印機或默認文件段。
17.2.1.1. 配置伺服器設置
配置 Samba 伺服器的第一步是配置伺服器的基本設置和幾個安全選項。啟動了應用程序後,選擇 「首選項」 => 「伺服器設置」。「基本」活頁標簽如 圖 17-2所示。
圖 17-2. 配置基本伺服器設置
在「基本」標簽上,指定計算機應在的工作組以及對計算機的簡短描述。它們與 smb.conf 中的 workgroup 和 server string 選項相對應。
圖 17-3. 配置安全伺服器設置
「安全」標簽包含以下選項:
「驗證模式」 — 它和 security 選項相對應。選擇以下驗證模式中的一種。
「域」 — Samba 伺服器依賴於 Windows NT 主要或備份域控制器來校驗用戶。伺服器把用戶名和口令傳遞給控制器,然後等待它們被返回。在「驗證伺服器」欄位中指定主要或備份域控制器的 NetBIOS 名稱。
「加密口令」選項如果被選,它必須被設置為「是」。
7、如何配置samba伺服器
這個簡單,可以參考 《鳥哥的linux私房菜 伺服器》 第一個伺服器就是samba伺服器。。具體的來說:
【samba配置文件smb.conf】
一般你裝系統的時候會默認安裝samba,如果沒有安裝,只需要運行這個命令安裝(CentOS):
「yum install -y samba samba-client」
Samba的配置文件為/etc/samba/smb.conf,通過修改這個配置文件來完成我們的各種需求。打開這個配置文件,你會發現很多內容都用」#」或者」;」注視掉了。先看一下未被注釋掉的部分:
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
主要有以上三個部分:[global], [homes], [printers]。
[global]定義全局的配置,」workgroup」用來定義工作組,相信如果你安裝過windows的系統,你會對這個workgroup不陌生。一般情況下,需要我們把這里的」MYGROUP」改成」WORKGROUP」(windows默認的工作組名字)。
security = user #這里指定samba的安全等級。關於安全等級有四種:
share:用戶不需要賬戶及密碼即可登錄samba伺服器
user:由提供服務的samba伺服器負責檢查賬戶及密碼(默認)
server:檢查賬戶及密碼的工作由另一台windows或samba伺服器負責
domain:指定windows域控制伺服器來驗證用戶的賬戶及密碼。
passdb backend = tdbsam # passdb backend (用戶後台),samba有三種用戶後台:smbpasswd, tdbsam和ldapsam.
smbpasswd:該方式是使用smb工具smbpasswd給系統用戶(真實用戶或者虛擬用戶)設置一個Samba 密碼,客戶端就用此密碼訪問Samba資源。smbpasswd在/etc/samba中,有時需要手工創建該文件。
tdbsam:使用資料庫文件創建用戶資料庫。資料庫文件叫passdb.tdb,在/etc/samba中。passdb.tdb用戶資料庫可使用smbpasswd –a創建Samba用戶,要創建的Samba用戶必須先是系統用戶。也可使用pdbedit創建Samba賬戶。pdbedit參數很多,列出幾個主要的:
pdbedit –a username:新建Samba賬戶。
pdbedit –x username:刪除Samba賬戶。
pdbedit –L:列出Samba用戶列表,讀取passdb.tdb資料庫文件。
pdbedit –Lv:列出Samba用戶列表詳細信息。
pdbedit –c 「[D]」–u username:暫停該Samba用戶賬號。
pdbedit –c 「[]」–u username:恢復該Samba用戶賬號。
ldapsam:基於LDAP賬戶管理方式驗證用戶。首先要建立LDAP服務,設置「passdb backend = ldapsam:ldap://LDAP Server」
load printers 和 cups options 兩個參數用來設置列印機相關。
除了這些參數外,還有幾個參數需要你了解:
netbios name = MYSERVER # 設置出現在「網上鄰居」中的主機名
hosts allow = 127. 192.168.12. 192.168.13. # 用來設置允許的主機,如果在前面加」;」則表示允許所有主機
log file = /var/log/samba/%m.log #定義samba的日誌,這里的%m是上面的netbios name
max log size = 50 # 指定日誌的最大容量,單位是K
[homes]該部分內容共享用戶自己的家目錄,也就是說,當用戶登錄到samba伺服器上時實際上是進入到了該用戶的家目錄,用戶登陸後,共享名不是homes而是用戶自己的標識符,對於單純的文件共享的環境來說,這部分可以注視掉。
[printers]該部分內容設置列印機共享。
【samba實踐】
注意:在試驗之前,請先檢測selinux是否關閉,否則可能會試驗不成功。關於如何關閉selinux請查看第十五章 linux系統日常管理的「linux的防火牆」部分
1. 共享一個目錄,任何人都可以訪問,即不用輸入密碼即可訪問,要求只讀。
打開samba的配置文件/etc/samba/smb.conf
[global]部分
把」MY GROUP」改成」WORKGROUP」
把」security = user」 修改為「security = share」
然後在文件的最末尾處加入以下內容:
[share]
comment = share all
path = /tmp/samba
browseable = yes
public = yes
writable = no
mkdir /tmp/samba
chmod 777 /tmp/samba
啟動samba服務
/etc/init.d/smb start
測試:
首先測試你配置的smb.conf是否正確,用下面的命令
testparm
如果沒有錯誤,則在你的windows機器上的瀏覽器中輸入file://IP/share 看是否能訪問
2. 共享一個目錄,使用用戶名和密碼登錄後才可以訪問,要求可以讀寫
打開samba的配置文件/etc/samba/smb.conf
[global] 部分內容如下:
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
然後加入以下內容:
[myshare]
comment = share for users
path = /samba
browseable = yes
writable = yes
public = no
保存配置文件,創建目錄:
mkdir /samba
chmod 777 /samba
然後添加用戶。因為在[globa]中」 passdb backend = tdbsam」,所以要使用」 pdbedit」 來增加用戶,注意添加的用戶必須在系統中存在。
useradd user1 user2
pdbedit -a user1 # 添加user1賬號,並定義其密碼
pdbedit -a user2
pdbedit -L # 列出所有的賬號
測試:
打開IE瀏覽器輸入file://IP/myshare/ 然後輸入用戶名和密碼
3. 使用linux訪問samba伺服器
Samba服務在linux下同樣可以訪問。前提是你的linux安裝了samba-client軟體包。安裝完後就可以使用smbclient命令了。
smbclient //IP/共享名 -U 用戶名
如:[root@localhost]# smbclient //10.0.4.67/myshare/ -U user1
Password:
Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.29.el5_6.2]
smb: \>
出現如上所示的界面。可以打一個」?」列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以列印該命令如何使用,其中get是下載,put是上傳。
另外的方式就是通過mount掛載了:
如:
mount -t cifs //10.0.4.67/myshare /mnt -o username=user1,password=123456
格式就是這樣,要指定-t cifs //IP/共享名本地掛載點 -o後面跟username 和 password
掛載完後就可以像使用本地的目錄一樣使用共享的目錄了。
8、samba伺服器的功能
在一些中小型網路,或者企業的內部網中,利用Linux建立文件伺服器是一個很好的解決方案。針對企業內部網中的絕大部分客戶機採用Windows的情況,我們可以通過使用Samba來實現文件伺服器功能。
Samba是在Linux及Unix上實現SMB(Server Message Block)協議的一個免費軟體,由伺服器及客戶端程序構成。這里我們只介紹伺服器程序。
我們首先介紹一些SMB協議的情況。SMB協議是建立在NetBIOS協議之上的應用協議,是基於TCP138、139兩個埠的服務。NetBIOS出現之後,Microsoft就使用NetBIOS實現了一個網路文件/列印服務系統。這個系統基於NetBIOS設定了一套文件共享協議,Microsoft稱之為SMB(Server Message Block)協議。這個協議被用於Lan Manager和Windows伺服器系統中,實現不同計算機之間共享列印機和文件等。因此,為了讓Windows和Unix/Linux計算機相集成,最好的辦法就是在Unix/Linux計算機中安裝支持SMB協議的軟體。這樣使用Windows的客戶端不需要更改設置,就能像使用Windows NT或Windows 2000伺服器一樣,使用Unix/Linux計算機上的共享資源了。Samba使SMB協議運行在NetBIOS協議上,並且使用Windows的NetBEUI協議讓Unix/Linux伺服器可以在Windows的網路鄰居上被訪問到。
Samba的伺服器程序可以實現以下主要功能:
◆ 文件及列印共享;
◆ 計算機名與IP的解悉;
◆ WINS服務的支持;
◆ 用戶許可權設置(如果配合Linux 的Quota還可以實現用戶磁碟空間配額)。
9、Linux系統怎麼搭建Samba共享伺服器
方法/步驟
1
需要檢查linux是否已安裝samba;
檢查命令為:rpm –qa |grep samba;
如果沒有輸出什麼信息,表明沒有安裝,需要到百度下載安裝,下載如下:
2
以下可以看到我的linux系統有安裝samba,可以進行下一步;
建立共享文件夾,命令如下:
Mkdir /home/fileshare;
如下圖:
如下圖,已建立好文件夾;
設置好文件夾許可權,命令如下:
Chmod 755 fileshare;
建立samba用戶;
Groupadd fileshare
Useradd –s /sbin/nologin file
Smbpasswd –a file
注意:訪問共享的用戶必須為samba用戶,不能使用其他用戶;
修改sambe配置文件;命令如下:
Vim /etc/samba/smb.conf;
修改samba配置文件全局設置;
#==============================Global settings===============
[global] workgroup = WORKGROUP server string = Samba Server security = share
設置文件夾共享,如下:
[sharefile] path = /home/sharefile public = yes read only = yes
重啟smb服務;
Service smb restart;
Windows 訪問共享成功。如下:
linux共享伺服器完美架設,下次會繼續和大家分享linux其他經驗。
10、怎樣設置Samba文件伺服器以使用Windows客戶端
根據Samba項目網站所述,Samba是一個開源/自由軟體套件,提供了到SMB/CIFS客戶端的無縫文件和列印服務。不同於其它SMB/CIFS網路協議部署(如HP-UX的LM伺服器,OS/2的LAN伺服器,或者VisionFS),Samba(及其源代碼)是可以自由獲取的(終端用戶無需付費),允許在Linux/Unixt伺服器和Windows/Unix/Linux客戶端之間互操作。
出於這些理由,Samba在不同操作系統(除了Linux)共存的網路中首選的文件伺服器解決方案——最常見的結構是多個微軟Windows客戶端訪問安裝有Samba的Linux伺服器,該情形也是本文將要解決的問題。
請注意,另外一方面,如果網路僅僅是由基於Unix的客戶端(如Linux,AIX,或者Solaris,等等)組成,可以考慮使用NFS(盡管在此種情況下Samba仍然是可選方案),它可以提供更快的速度。
一、在Debian和CentOS中安裝Samba
在開始安裝之前,可以使用操作系統中的包管理系統查詢Samba的信息:
在Debian上:
# aptitude show samba
在CentOS上:
# yum info samba
在下面可以看到『aptitude show samba』的輸出(『yum info samba』會產生類似的結果):
現在來安裝Samba:
在Debian上:
# aptitude install samba
在CentOS上:
# yum install samba
添加用戶到Samba
對於4.x之前的版本,需要建立一個本地Unix帳號以便將其添加到Samba:
# adser <username>
接下來需要添加用戶到Samba,使用帶有『-a』選項的smbpasswd命令來完成,該命令指出後面的用戶名將被添加到本地smbpasswd文件中。將被提示輸入密碼(該密碼無需和本地Unix帳號的密碼相同):
# smbpassword -a <username>
最後將賦予用戶xmolo到我們系統上某個目錄的訪問許可權,該目錄將被用於作為此用戶的Samba共享(如有需要,也可以共享給其它用戶)。要完成該工作,請使用文本編輯器(如Vim)打開/etc/samba/smb.conf文件,導航到文件末,然後創建一個帶有描述名稱的區塊(使用方括弧將其括起來),如[xmolo]:
# SAMBA SHARE
[xmolo]
path =/home/xmolo
available = yes
valid users = xmolo
read only =no
browseable = yes
public= yes
writeable = yes
現在必須重啟Samba—以防萬一—使用testparm命令來檢查smb.conf文件的語法錯誤:
# service samba restart
# testparm
如果有錯誤,在testparm結束後會報告。
二、在Windows 7計算機上將Samba共享映射為一個網路驅動器
在計算機上右擊,然後選擇「映射網路驅動器」:
輸入安裝了Samba的機器的IP地址,後跟共享名(就是smb.conf文件中方括弧括起來的那個名稱),然後確保選中了「使用不同的憑據連接」。