ubuntu下用samba實(shí)現(xiàn)windows與linux文件共享
首先要安裝samba
sudo apt-get install samba sudo apt-get install smbfs |
1.windows 訪問(wèn) ubuntu
下面我們來(lái)共享群組可讀寫文件夾,假設(shè)你要共享的文件夾為: /home/ray/share首先創(chuàng)建這個(gè)文件夾
代碼: |
mkdir /home/ray/share chmod 777 /home/ray/share |
備份并編輯smb.conf允許網(wǎng)絡(luò)用戶訪問(wèn)
代碼: |
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è)允許訪問(wèn)的用戶為: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。自己看著辦吧。現(xiàn)在要添加newsfan這個(gè)網(wǎng)絡(luò)訪問(wèn)帳戶。如果系統(tǒng)中當(dāng)前沒(méi)有這個(gè)帳戶,那么
代碼: |
sudo useradd newsfan |
要注意,上面只是增加了newsfan這個(gè)用戶,卻沒(méi)有給用戶賦予本機(jī)登錄密碼。所以這個(gè)用戶將只能從遠(yuǎn)程訪問(wèn),不能從本機(jī)登錄。而且samba的登錄密碼可以和本機(jī)登錄密碼不一樣。現(xiàn)在要新增網(wǎng)絡(luò)使用者的賬號(hào):
代碼: |
sudo smbpasswd -a newsfan sudo gedit /etc/samba/smbusers |
在新建立的文件內(nèi)加入下面這一行并保存
代碼: |
newsfan = “network username” |
如果將來(lái)需要更改newsfan的網(wǎng)絡(luò)訪問(wèn)密碼,也用這個(gè)命令更改
代碼: |
sudo smbpasswd -a newsfan |
刪除網(wǎng)絡(luò)使用者的賬號(hào)的命令把上面的 -a 改成 -x
代碼: |
sudo testparm sudo /etc/init.d/samba restart |
2.Ubuntu linux 系統(tǒng)訪問(wèn)windows xp/2003/2000系統(tǒng)
在我的測(cè)試過(guò)程中,實(shí)現(xiàn)ubuntu linux系統(tǒng)訪問(wèn)windows系統(tǒng)的方式有3種,我將這幾種方式說(shuō)明如下:
第一種:用smb訪問(wèn)
如果在ubuntu
linux系統(tǒng)終端pingwindows主機(jī)的ip地址可以ping通,且windows計(jì)算機(jī)中有共享的文件夾,則打開(kāi)位置下的網(wǎng)絡(luò)服務(wù)器,點(diǎn)擊界面
中windows網(wǎng)絡(luò)->workgroup,在workgroup組中就可以看到windows計(jì)算機(jī)名,雙擊會(huì)彈出輸入用戶名和密碼的對(duì)話框,
將我們上面設(shè)置smb的用戶名和密碼輸入就可以進(jìn)行訪問(wèn)。
第二種:用ubuntu 系統(tǒng)自帶的連接到服務(wù)器功能訪問(wèn)
在位置中啟動(dòng)連接到服務(wù)器,在服務(wù)類型中選擇“windows共享”,在服務(wù)器中輸入windows計(jì)算機(jī)的ip地址或計(jì)算機(jī)名,點(diǎn)擊連接,這樣在系統(tǒng)桌面中就會(huì)顯示一個(gè)連接到windows 計(jì)算機(jī)的文件卷。
我們可以像訪問(wèn)ubuntu系統(tǒng)中的磁盤一樣來(lái)訪問(wèn)它,同樣在訪問(wèn)的時(shí)候要輸入smb的用戶名和密碼。
第三種:用mount掛載windows的共享目錄到本地磁盤
首先要在ubuntu系統(tǒng)中建立一個(gè)掛載點(diǎn),在這里我們建立的掛在點(diǎn)為 /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
有是這樣在訪問(wèn)的時(shí)候會(huì)出現(xiàn)中文亂碼的問(wèn)題,這樣我們可以按下面命令來(lái)執(zhí)行,可以解決這個(gè)問(wèn)題
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都為smb的用戶和密碼,如果要詳細(xì)了解mount命令,使用man mount在終端查看詳細(xì)用法
提示:要訪問(wèn)windows中有特殊密碼的文件夾,可以在samba中新建一個(gè)與windows登錄相同名相同密碼的用戶,然后mount即可,例:
sudo useradd administrator //不要讓其有登錄ubuntu的權(quán)限
sudo smbpasswd -a administrator
然后提示輸入密碼:輸入windows訪問(wèn)的密碼即可
第四種:使用smbclient 命令
命令如下:
smbclient //192.168.0.1/share -U wangyh
password:輸入smb用戶wangyh的密碼
回車就可以用,用命令get下載文件,用put上傳文件。
注解:
smbclient介紹:
命令 說(shuō)明
或help [command] 提供關(guān)于幫助或某個(gè)命令的幫助
![shell command] 執(zhí)行所用的SHELL命令,或讓用戶進(jìn)入 SHELL提示符
cd [目錄](méi) 切換到服務(wù)器端的指定目錄,如未指定,則 smbclient 返回當(dāng)前本地目錄
lcd [目錄](méi) 切換到客戶端指定的目錄;
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è)文件