從新立得軟件包管理器中安裝Samba和Smbfs。Samba是在Unix系統(tǒng)中用于共享文件和打印機(jī)的應(yīng)用軟件。Smbfs is a filesystem which understands the SMB/CIFS protocol. This is the protocol Windows for Workgroups, Windows NT or LAN Manager use to talk to each other. It was inspired by samba, the program by Andrew Tridgell that turns any unix site into a file server for DOS or Windows lients.
或者執(zhí)行命令行:
#sudo apt-get install samba
#sudo apt-get install smbfs
安裝完畢,從菜單進(jìn)入 系統(tǒng) -> 系統(tǒng)管理 -> 共享的文件夾
添加準(zhǔn)備共享的文件夾。
1. XP匿名訪問Ubuntu共享文件
使用samba不進(jìn)行任何設(shè)置時(shí),winXP機(jī)器可以連接到Ubuntu機(jī)器但提示輸入用戶名密碼,此時(shí)不論輸入什么都不能訪問,要實(shí)現(xiàn)匿名訪問需要做如下設(shè)置:
1) 修改配置文件smb.conf:
sudo vim /etc/samba/smb.conf
將security=user那一行前的注釋符";"去掉,然后把user改為share。
2) 重啟samba:
#sudo /etc/init.d/samba restart
2. WinXP下用用戶名和密碼訪問Ubuntu共享文件
下面我們來共享群組可讀寫文件夾,假設(shè)你要共享的文件夾為: /home/ray/share首先創(chuàng)建這個(gè)文件夾
代碼:
#mkdir /home/ray/share
#chmod 777 /home/ray/share
備份并編輯smb.conf允許網(wǎng)絡(luò)用戶訪問
代碼:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
搜尋這一行文字
代碼:
; security = user
用下面這幾行取代
代碼:
security = user
username map = /etc/samba/smbusers
將下列幾行代碼添加到文件的最后面,假設(shè)允許訪問的用戶為:newsfan。而文件夾的共享名為 Share
代碼:
[Share]
comment = Shared Folder with username and password
path = /home/ray/share
public = yes
writable = yes
valid users = newsfan
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
然后順便把這里改一下,找到[global]把 workgroup = MSHOME 改成
代碼:
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面的三行是為了防止出現(xiàn)中文目錄亂碼的情況。其中根據(jù)你的local,UTF-8 有可能需要改成 cp936。自己看著辦吧?,F(xiàn)在要添加newsfan這個(gè)網(wǎng)絡(luò)訪問帳戶。如果系統(tǒng)中當(dāng)前沒有這個(gè)帳戶,那么
代碼:
sudo useradd newsfan
要注意,上面只是增加了newsfan這個(gè)用戶,卻沒有給用戶賦予本機(jī)登錄密碼。所以這個(gè)用戶將只能從遠(yuǎn)程訪問,不能從本機(jī)登錄。而且samba的登錄密碼可以和本機(jī)登錄密碼不一樣?,F(xiàn)在要新增網(wǎng)絡(luò)使用者的帳號:
代碼:
#sudo smbpasswd -a newsfan
#sudo gedit /etc/samba/smbusers
在新建立的文件內(nèi)加入下面這一行并保存
代碼:
newsfan = “network username”
如果將來需要更改newsfan的網(wǎng)絡(luò)訪問密碼,也用這個(gè)命令更改
代碼:
#sudo smbpasswd -a newsfan
刪除網(wǎng)絡(luò)使用者的帳號的命令把上面的 -a 改成 -x
代碼:
#sudo testparm
#sudo /etc/init.d/samba restart 3. Ubuntu linux系統(tǒng)訪問WinXP/2003/2000系統(tǒng)
在我的測試過程中,實(shí)現(xiàn)Ubuntu linux系統(tǒng)訪問Windows系統(tǒng)的方式有3種,我將這幾種方式說明如下。
注意,在Windows系統(tǒng)中設(shè)置好共享目錄的訪問權(quán)限,此文后面輸入的都是Windows系統(tǒng)登錄用戶名和密碼,即假定登錄用戶對共享目錄有訪問權(quán)限。如果登錄用戶沒有訪問權(quán)限,請輸入Windows共享文件夾的授權(quán)用戶名和訪問密碼。例如創(chuàng)建組UbuntuSMB,同時(shí)創(chuàng)建用戶組內(nèi)用戶ubuntu。
> net localgroup UbuntuSMB /add
> net user ubuntu ShareAccessPassword /add /passwordchg:no /expires:never
> net localgroup UbuntuSMB ubuntu /add
> net localgroup Users ubuntu /delete
上面命令行的ShareAccessPassword改為想設(shè)置的密碼。
將Windows默認(rèn)的簡單文件共享取消。將Windows共享文件夾設(shè)置為僅UbuhtuSMB組可以讀寫。這樣下面的用戶名和密碼就應(yīng)該改為ubuntu和相對應(yīng)的密碼。
第一種:用smb訪問
如果在ubuntu linux系統(tǒng)終端ping windows主機(jī)的ip地址可以ping通,且windows計(jì)算機(jī)中有共享的文件夾,則打開菜單進(jìn)入 位置 -> 網(wǎng)絡(luò),點(diǎn)擊界面中 Windows網(wǎng)絡(luò) -> workgroup,在workgroup組中就可以看到windows計(jì)算機(jī)名,雙擊會(huì)彈出輸入用戶名和密碼的對話框,輸入Windows系統(tǒng)設(shè)置的登錄用戶名和密碼就可以進(jìn)行訪問。
第二種:用ubuntu 系統(tǒng)自帶的連接到服務(wù)器功能訪問
在位置中啟動(dòng)連接到服務(wù)器,在服務(wù)類型中選擇“windows共享”,在服務(wù)器中輸入windows計(jì)算機(jī)的ip地址或計(jì)算機(jī)名,點(diǎn)擊連接,這樣在系統(tǒng)桌面中就會(huì)顯示一個(gè)連接到windows 計(jì)算機(jī)的文件卷。
我們可以像訪問ubuntu系統(tǒng)中的磁盤一樣來訪問它,同樣在訪問的時(shí)候要輸入Windows登錄的用戶名和密碼。
第三種:用mount掛載windows的共享目錄到本地磁盤
首先要在ubuntu系統(tǒng)中建立一個(gè)掛載點(diǎn),在這里我們建立的掛在點(diǎn)為 /mnt/wind
#md /mnt/wind
同樣在保證網(wǎng)絡(luò)連接正常,且windows中有共享目錄的前提下,進(jìn)行以下操作
以windows的ip為192.168.0.1,共享文件夾為share為例
命令如下:
#mount -t smbfs -o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind
有是這樣在訪問的時(shí)候會(huì)出現(xiàn)中文亂碼的問題,這樣我們可以按下面命令來執(zhí)行,解決這個(gè)問題
#mount -t smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777, \
userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind
注解:usename和password都為Windows登錄的用戶和密碼,如果要詳細(xì)了解mount命令,使用man mount在終端查看詳細(xì)用法
提示:要訪問windows中有特殊密碼的文件夾,可以在samba中新建一個(gè)與windows登錄相同名相同密碼的用戶,然后mount即可,例:
#sudo useradd administrator //不要讓其有登錄ubuntu的權(quán)限
#sudo smbpasswd -a administrator
然后提示輸入密碼:輸入windows訪問的密碼即可
按這個(gè)網(wǎng)址的做法:
http://wiki.ubuntu.org.cn/UbuntuHelp:ComprehensiveSambaGuide
在Ubuntu系統(tǒng)啟動(dòng)終端,創(chuàng)建組smb,并將用戶USER加入組:
$ sudo mkdir -p /media/winshares
$ sudo addgroup smb
$ sudo adduser $USER smb
假設(shè)Windows計(jì)算機(jī)名稱為DEVMACHINE, 共享文件夾名稱為shares, 將該共享文件夾裝載到目錄/media/winshares
$ sudo mount -t smbfs -o username=ubuntu,password=ShareAccessPassword,workgroup=Workgroup,\
gid=smb,uid=$USER,fmask=770,dmask=770,rw //DEVMACHINE/shares /media/winshares
第四種:使用smbclient 命令
命令如下:
#smbclient //192.168.0.1/share -U wangyh
password:輸入smb用戶wangyh的密碼
回車就可以用,用命令get下載文件,用put上傳文件。
注解:
smbclient介紹:
命令 說明
?或help [command] 提供關(guān)于幫助或某個(gè)命令的幫助
![shell command] 執(zhí)行所用的SHELL命令,或讓用戶進(jìn)入 SHELL提示符
cd [目錄] 切換到服務(wù)器端的指定目錄,如未指定,則 smbclient 返回當(dāng)前本地目錄
lcd [目錄] 切換到客戶端指定的目錄;
dir 或ls 列出當(dāng)前目錄下的文件;
exit 或quit 退出smbclient
get file1 file2 從服務(wù)器上下載file1,并以文件名file2存在本地機(jī)上;
如果不想改名,可以把file2省略
mget file1 file2 file3 filen 從服務(wù)器上下載多個(gè)文件;
md或mkdir 目錄 在服務(wù)器上創(chuàng)建目錄
rd或rmdir 目錄 刪除服務(wù)器上的目錄
put file1 [file2] 向服務(wù)器上傳一個(gè)文件file1,傳到服務(wù)器上改名為file2;
mput file1 file2 filen 向服務(wù)器上傳多個(gè)文件。
或者執(zhí)行命令行:
#sudo apt-get install samba
#sudo apt-get install smbfs
安裝完畢,從菜單進(jìn)入 系統(tǒng) -> 系統(tǒng)管理 -> 共享的文件夾
添加準(zhǔn)備共享的文件夾。
1. XP匿名訪問Ubuntu共享文件
使用samba不進(jìn)行任何設(shè)置時(shí),winXP機(jī)器可以連接到Ubuntu機(jī)器但提示輸入用戶名密碼,此時(shí)不論輸入什么都不能訪問,要實(shí)現(xiàn)匿名訪問需要做如下設(shè)置:
1) 修改配置文件smb.conf:
sudo vim /etc/samba/smb.conf
將security=user那一行前的注釋符";"去掉,然后把user改為share。
2) 重啟samba:
#sudo /etc/init.d/samba restart
2. WinXP下用用戶名和密碼訪問Ubuntu共享文件
下面我們來共享群組可讀寫文件夾,假設(shè)你要共享的文件夾為: /home/ray/share首先創(chuàng)建這個(gè)文件夾
代碼:
#mkdir /home/ray/share
#chmod 777 /home/ray/share
備份并編輯smb.conf允許網(wǎng)絡(luò)用戶訪問
代碼:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
搜尋這一行文字
代碼:
; security = user
用下面這幾行取代
代碼:
security = user
username map = /etc/samba/smbusers
將下列幾行代碼添加到文件的最后面,假設(shè)允許訪問的用戶為:newsfan。而文件夾的共享名為 Share
代碼:
[Share]
comment = Shared Folder with username and password
path = /home/ray/share
public = yes
writable = yes
valid users = newsfan
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes
然后順便把這里改一下,找到[global]把 workgroup = MSHOME 改成
代碼:
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面的三行是為了防止出現(xiàn)中文目錄亂碼的情況。其中根據(jù)你的local,UTF-8 有可能需要改成 cp936。自己看著辦吧?,F(xiàn)在要添加newsfan這個(gè)網(wǎng)絡(luò)訪問帳戶。如果系統(tǒng)中當(dāng)前沒有這個(gè)帳戶,那么
代碼:
sudo useradd newsfan
要注意,上面只是增加了newsfan這個(gè)用戶,卻沒有給用戶賦予本機(jī)登錄密碼。所以這個(gè)用戶將只能從遠(yuǎn)程訪問,不能從本機(jī)登錄。而且samba的登錄密碼可以和本機(jī)登錄密碼不一樣?,F(xiàn)在要新增網(wǎng)絡(luò)使用者的帳號:
代碼:
#sudo smbpasswd -a newsfan
#sudo gedit /etc/samba/smbusers
在新建立的文件內(nèi)加入下面這一行并保存
代碼:
newsfan = “network username”
如果將來需要更改newsfan的網(wǎng)絡(luò)訪問密碼,也用這個(gè)命令更改
代碼:
#sudo smbpasswd -a newsfan
刪除網(wǎng)絡(luò)使用者的帳號的命令把上面的 -a 改成 -x
代碼:
#sudo testparm
#sudo /etc/init.d/samba restart 3. Ubuntu linux系統(tǒng)訪問WinXP/2003/2000系統(tǒng)
在我的測試過程中,實(shí)現(xiàn)Ubuntu linux系統(tǒng)訪問Windows系統(tǒng)的方式有3種,我將這幾種方式說明如下。
注意,在Windows系統(tǒng)中設(shè)置好共享目錄的訪問權(quán)限,此文后面輸入的都是Windows系統(tǒng)登錄用戶名和密碼,即假定登錄用戶對共享目錄有訪問權(quán)限。如果登錄用戶沒有訪問權(quán)限,請輸入Windows共享文件夾的授權(quán)用戶名和訪問密碼。例如創(chuàng)建組UbuntuSMB,同時(shí)創(chuàng)建用戶組內(nèi)用戶ubuntu。
> net localgroup UbuntuSMB /add
> net user ubuntu ShareAccessPassword /add /passwordchg:no /expires:never
> net localgroup UbuntuSMB ubuntu /add
> net localgroup Users ubuntu /delete
上面命令行的ShareAccessPassword改為想設(shè)置的密碼。
將Windows默認(rèn)的簡單文件共享取消。將Windows共享文件夾設(shè)置為僅UbuhtuSMB組可以讀寫。這樣下面的用戶名和密碼就應(yīng)該改為ubuntu和相對應(yīng)的密碼。
第一種:用smb訪問
如果在ubuntu linux系統(tǒng)終端ping windows主機(jī)的ip地址可以ping通,且windows計(jì)算機(jī)中有共享的文件夾,則打開菜單進(jìn)入 位置 -> 網(wǎng)絡(luò),點(diǎn)擊界面中 Windows網(wǎng)絡(luò) -> workgroup,在workgroup組中就可以看到windows計(jì)算機(jī)名,雙擊會(huì)彈出輸入用戶名和密碼的對話框,輸入Windows系統(tǒng)設(shè)置的登錄用戶名和密碼就可以進(jìn)行訪問。
第二種:用ubuntu 系統(tǒng)自帶的連接到服務(wù)器功能訪問
在位置中啟動(dòng)連接到服務(wù)器,在服務(wù)類型中選擇“windows共享”,在服務(wù)器中輸入windows計(jì)算機(jī)的ip地址或計(jì)算機(jī)名,點(diǎn)擊連接,這樣在系統(tǒng)桌面中就會(huì)顯示一個(gè)連接到windows 計(jì)算機(jī)的文件卷。
我們可以像訪問ubuntu系統(tǒng)中的磁盤一樣來訪問它,同樣在訪問的時(shí)候要輸入Windows登錄的用戶名和密碼。
第三種:用mount掛載windows的共享目錄到本地磁盤
首先要在ubuntu系統(tǒng)中建立一個(gè)掛載點(diǎn),在這里我們建立的掛在點(diǎn)為 /mnt/wind
#md /mnt/wind
同樣在保證網(wǎng)絡(luò)連接正常,且windows中有共享目錄的前提下,進(jìn)行以下操作
以windows的ip為192.168.0.1,共享文件夾為share為例
命令如下:
#mount -t smbfs -o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind
有是這樣在訪問的時(shí)候會(huì)出現(xiàn)中文亂碼的問題,這樣我們可以按下面命令來執(zhí)行,解決這個(gè)問題
#mount -t smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777, \
userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind
注解:usename和password都為Windows登錄的用戶和密碼,如果要詳細(xì)了解mount命令,使用man mount在終端查看詳細(xì)用法
提示:要訪問windows中有特殊密碼的文件夾,可以在samba中新建一個(gè)與windows登錄相同名相同密碼的用戶,然后mount即可,例:
#sudo useradd administrator //不要讓其有登錄ubuntu的權(quán)限
#sudo smbpasswd -a administrator
然后提示輸入密碼:輸入windows訪問的密碼即可
按這個(gè)網(wǎng)址的做法:
http://wiki.ubuntu.org.cn/UbuntuHelp:ComprehensiveSambaGuide
在Ubuntu系統(tǒng)啟動(dòng)終端,創(chuàng)建組smb,并將用戶USER加入組:
$ sudo mkdir -p /media/winshares
$ sudo addgroup smb
$ sudo adduser $USER smb
假設(shè)Windows計(jì)算機(jī)名稱為DEVMACHINE, 共享文件夾名稱為shares, 將該共享文件夾裝載到目錄/media/winshares
$ sudo mount -t smbfs -o username=ubuntu,password=ShareAccessPassword,workgroup=Workgroup,\
gid=smb,uid=$USER,fmask=770,dmask=770,rw //DEVMACHINE/shares /media/winshares
第四種:使用smbclient 命令
命令如下:
#smbclient //192.168.0.1/share -U wangyh
password:輸入smb用戶wangyh的密碼
回車就可以用,用命令get下載文件,用put上傳文件。
注解:
smbclient介紹:
命令 說明
?或help [command] 提供關(guān)于幫助或某個(gè)命令的幫助
![shell command] 執(zhí)行所用的SHELL命令,或讓用戶進(jìn)入 SHELL提示符
cd [目錄] 切換到服務(wù)器端的指定目錄,如未指定,則 smbclient 返回當(dāng)前本地目錄
lcd [目錄] 切換到客戶端指定的目錄;
dir 或ls 列出當(dāng)前目錄下的文件;
exit 或quit 退出smbclient
get file1 file2 從服務(wù)器上下載file1,并以文件名file2存在本地機(jī)上;
如果不想改名,可以把file2省略
mget file1 file2 file3 filen 從服務(wù)器上下載多個(gè)文件;
md或mkdir 目錄 在服務(wù)器上創(chuàng)建目錄
rd或rmdir 目錄 刪除服務(wù)器上的目錄
put file1 [file2] 向服務(wù)器上傳一個(gè)文件file1,傳到服務(wù)器上改名為file2;
mput file1 file2 filen 向服務(wù)器上傳多個(gè)文件。