在ubuntu9.10上安裝Samba服務(wù)器 收藏
在說明如何在ubuntu9.10上(其它版本ubuntu差不多)安裝samba服務(wù)器之前,先介紹下samba的知識(shí)。
【1. Samba相關(guān)知識(shí)】:
自從出現(xiàn)NetBIOS協(xié)議,Microsoft用它實(shí)現(xiàn)了網(wǎng)絡(luò)文件/打印服務(wù),即大家熟知的打印與共享服務(wù),它是基于SMB(Server Message Block)協(xié)議,實(shí)現(xiàn)不同計(jì)算機(jī)之間共享打印機(jī)、串行口和通訊抽象(如命名管道、郵件插槽等)。隨著Internet的流行,Microsoft希望將這個(gè)協(xié)議擴(kuò)展到Internet上去,成為Internet上計(jì)算機(jī)之間相互共享數(shù)據(jù)的一種標(biāo)準(zhǔn)。因此它將原有的幾乎沒有多少技術(shù)文檔的SMB協(xié)議進(jìn)行整理,重新命名為 CIFS(Common Internet File System),并打算將它與NetBIOS相脫離,試圖使它成為Internet上的一個(gè)標(biāo)準(zhǔn)協(xié)議。
為了實(shí)現(xiàn)讓W(xué)indows共享UNIX主機(jī)上的資源,可行的一種方法就是在UNIX計(jì)算機(jī)中安裝支持SMB/CIFS協(xié)議的軟件,這樣Windows客戶端就不需要更改設(shè)置,同對(duì)待Windows主機(jī)一樣,能用UNIX計(jì)算機(jī)上的資源了。Samba就是用來實(shí)現(xiàn)SMB的一種軟件,它的工作原理是讓NetBIOS (Network Basic Input/Output System)和SMB這兩個(gè)協(xié)議運(yùn)行于TCP/IP協(xié)議之上,并且使用Windows的NetBEUI(Net BIOS Enhanced User Interface)協(xié)議,讓類UNIX主機(jī)可以在網(wǎng)絡(luò)鄰居上被Windows主機(jī)看到。它的功能有:a. 實(shí)現(xiàn)Linux主機(jī)之間和Linux主機(jī)與Windows主機(jī)之間的文件共享; b. 實(shí)現(xiàn)Linux主機(jī)之間和Linux主機(jī)與Windows主機(jī)之間的打印機(jī)共享。
既然有這么好的工具,那我們就可以實(shí)現(xiàn)在xp上共享虛擬機(jī)ubuntu9.10上的資源,給更習(xí)慣于WINDOWS操作的嵌入式linux開發(fā)程師(像我一樣的)帶來更大的便利。
【2. ubuntu安裝和配置samba服務(wù)器】
2.1 首先,安裝samba服務(wù)器軟件:
view plaincopy to clipboardprint?
sudo apt-get install samba
sudo apt-get install smbfs
sudo apt-get install samba
sudo apt-get install smbfs
2.2 接下來,配置samba服務(wù)器,假設(shè)你要共享的文件平為: /home/reille(這是我ubuntu上用戶reille的目錄)。
如果沒有這個(gè)共享文件夾,先要?jiǎng)?chuàng)建這個(gè)文件夾,有的話就不用了,然后改其權(quán)限:
view plaincopy to clipboardprint?
mkdir /home/reille
chmod 777 /home/reille
mkdir /home/reille
chmod 777 /home/reille
2.3 備份并編輯smb.conf,配置為需要用戶密碼訪問:
2.3.1 :
view plaincopy to clipboardprint?
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
2.3.2 :
搜尋下面這行文字:
view plaincopy to clipboardprint?
; security = user 或 # security
; security = user 或 # security
(在smb.conf文件中,;和#都表示注釋)
然后,用下面這幾行取代:
view plaincopy to clipboardprint?
security = user
username map = /etc/samba/smbusers
security = user
username map = /etc/samba/smbusers
2.3.3 :
將下列幾行新增到文件的最后面,假設(shè)允許訪問的用戶為:smb。而文件夾的共享名為samba_share
view plaincopy to clipboardprint?
[samba_share]
comment = Shared Folder with username and password
path = /home/reille
public = yes
writable = yes
valid users = smb
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
available = yes
browseable = yes
[samba_share]
comment = Shared Folder with username and password
path = /home/reille
public = yes
writable = yes
valid users = smb
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
available = yes
browseable = yes
這兩行
view plaincopy to clipboardprint?
create mask = 0777
directory mask = 0777
create mask = 0777
directory mask = 0777
表示用戶訪問這個(gè)共享文件夾時(shí),可以在這個(gè)共享文件夾上創(chuàng)建文件和目錄。
2.3.4 :
然后順便把這里改一下,找到[global]把 workgroup = WORKGROUP 改成
view plaincopy to clipboardprint?
workgroup = MSHOME
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
workgroup = MSHOME
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
第一行是你的WINDOWS所在的工作組,適你的計(jì)算機(jī)進(jìn)行更改
后面的三行是為了防止出現(xiàn)中文目錄亂碼的情況。其中根據(jù)你的local,UTF-8 有可能需要改成 cp936。自己看著辦吧。
2.4 :
現(xiàn)在要添加smb這個(gè)網(wǎng)絡(luò)訪問帳戶。如果系統(tǒng)中當(dāng)前沒有這個(gè)帳戶,那么
view plaincopy to clipboardprint?
sudo useradd smb
sudo useradd smb
注意,上面只是增加了smb這個(gè)用戶,卻沒有給用戶賦予本機(jī)登錄密碼。所以這個(gè)用戶將只能從遠(yuǎn)程訪問,不能從本機(jī)登錄,換句話說,在/home目錄下不會(huì)有smb這個(gè)文件夾。而且samba的登錄密碼可以和本機(jī)登錄密碼不一樣。
2.5:
新增網(wǎng)絡(luò)使用者的賬號(hào):
view plaincopy to clipboardprint?
sudo smbpasswd -a smb
sudo gedit /etc/samba/smbusers
sudo smbpasswd -a smb
sudo gedit /etc/samba/smbusers
并在新建立的文件smbusers內(nèi)加入下面這一行并保存:
view plaincopy to clipboardprint?
smb = "network username"
smb = "network username"
2.6:
如果將來需要更改newsfan的網(wǎng)絡(luò)訪問密碼,也用這個(gè)命令更改:
view plaincopy to clipboardprint?
sudo smbpasswd -a smb
sudo smbpasswd -a smb
如果要?jiǎng)h除網(wǎng)絡(luò)使用者的賬號(hào),把上面命令的 -a 改成 -x。
2.7:
最后退出重新登錄或者重新啟動(dòng)一下機(jī)器:
view plaincopy to clipboardprint?
sudo /etc/init.d/samba restart
sudo /etc/init.d/samba restart
【3. 驗(yàn)證samba服務(wù)器是否安裝成功】
配置好并重新登陸或重新啟動(dòng)后,可以驗(yàn)證下samba服務(wù)是否安裝成功。
我的ubuntu9.10的IP地址是:192.168.1.125
使用命令如下進(jìn)行驗(yàn)證:
輸入密碼登陸成功后,如果安裝成功,如出現(xiàn)如下提示信息:
view plaincopy to clipboardprint?
Enter smb's password:
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
Share Disk Shared Folder with username and password
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Server Comment
--------- -------
UBUNTU ubuntu server (Samba, Ubuntu)
WWW-BB0415062B9 guoyirong
Workgroup Master
--------- -------
MSHOME WWW-BB0415062B9
Enter smb's password:
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
Share Disk Shared Folder with username and password
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Server Comment
--------- -------
UBUNTU ubuntu server (Samba, Ubuntu)
WWW-BB0415062B9 guoyirong
Workgroup Master
--------- -------
MSHOME WWW-BB0415062B9
或者從windows下進(jìn)入,在文件夾界面的地址欄上輸入:
回車后會(huì)進(jìn)入到ubuntu的共享文件夾,可以看到我們要共享的文件夾:samba_share
【4. 把ubuntu共享的文件夾:samba_share映射成為一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器】
在windows下可以把ubuntu共享的文件夾:samba_share映射成為一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)器,這樣你就可以像訪問C、D盤一樣訪問這個(gè)共享的文件夾。
4.1 :
點(diǎn)擊桌面上我的電腦,然后單擊右鍵,在菜單中選擇【映像網(wǎng)絡(luò)驅(qū)動(dòng)器(N)...】,然后選擇驅(qū)動(dòng)器的名稱,和共享文件夾的路徑。。這都是很容易的事情,就不再詳細(xì)描述了。。。