Samba

Samba是Ubuntu和Windows進行網絡共享的工具,好比分享打印機,互相之間傳輸資料文件。shell

目錄

[隱藏]

安裝Samba

安裝sambaubuntu

sudo apt-get install samba

Kubuntu

安裝系統設置的共享模塊windows

sudo apt-get install kdenetwork-filesharing

配置

1.windows 訪問 ubuntu服務器

第一步建立共享目錄: 好比要建立/home/用戶名/share首先建立這個文件夾 (這個用戶名就是你的用戶名,爲了方便易懂我才這樣寫的,到時記得本身改啊)網絡

代碼:工具

mkdir /home/用戶名/share    (新建share文件夾)
chmod 777 /home/用戶名/share   (設置該文件夾的權限使其讓全部用戶可讀可寫可運行)

備份並編輯smb.conf容許網絡用戶訪問 (養成隨時備份的好習慣,在關鍵的時候你會發現當初的備份是多麼的明智!) 代碼:測試

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf

搜尋這一行文字 代碼:ui

; security = user

用下面這幾行取代spa

代碼:unix

security = user
username map = /etc/samba/smbusers

將下列幾行新增到文件的最後面,假設容許訪問的用戶爲:new。而文件夾的共享名爲 Share #這裏之因此這麼寫就是由於後面咱們要建立一個smb用戶new,而且讓XP用戶經過這個new來和咱們進行數據交流。固然你能夠寫爲本身喜歡的名字 只不過先後要一致就能夠了

代碼:

[Share]

comment = Shared Folder with username and password

path = /home/用戶名/share

public = yes

writable = yes

valid users = new

create mask = 0700

directory mask = 0700

force user = nobody

force group = nogroup

available = yes

browseable = yes

而後順便把這裏改一下,找到[global]把 workgroup = MSHOME 改爲 :(注意,這裏的WORKGROUP是共享中的工做組名稱) 代碼:

workgroup = WORKGROUP

display charset = UTF-8

unix charset = UTF-8

dos charset = cp936


後面的三行是爲了防止出現中文目錄亂碼的狀況。 如今要添加new這個網絡訪問賬戶。若是系統中當前沒有這個賬戶,那麼

代碼:

sudo useradd new


要注意,上面只是增長了new這個用戶,卻沒有給用戶賦予本機登陸密碼。因此這個用戶將只能從遠程訪問,不能從本機登陸。並且samba的登陸密碼能夠和本機登陸密碼不同。如今要新增網絡使用者的賬號:

代碼:

sudo smbpasswd -a new (設置你的new密碼,這個密碼不是開機登陸時候用的,是你要訪問WIN共享文件或者WIN共享文件訪問你的時候要填的密碼) sudo gedit /etc/samba/smbusers


在新創建的文件內加入下面這一行並保存

代碼:

new = 「network username」

若是未來須要更改new的網絡訪問密碼,也用這個命令更改

代碼:

sudo smbpasswd -a new

刪除網絡使用者的賬號的命令把上面的 -a 改爲 -x sudo smbpasswd -x new

測試並重啓samba

代碼:

sudo testparm

sudo /etc/init.d/samba restart

WIN訪問ubuntu後記
有人說我嚴格的按照了上述操做走的,在本身UBUNTU的系統下右擊一個文件夾,點共享,而後建立共享文件,結果在WIN XP下的局域網能夠看到那個共享的文件夾,可是就是點不開!  爲何?
緣由就在於權限問題,假如你共享了  /media/MEDIA/壁紙  這個文件夾,你緊接着給這個文件夾可讀可寫可運行的權限

簡單的,這樣使用。 ☎ type fuse-smb fuse-smb 已被別名爲「smbmount //192.168.100.53/共享目錄/ ~/fuse-mnt/ -o username=smb,password=ice,iocharset=utf8」

Ubuntu訪問windows xp/2003/2000系統

下面有原做者提供的四種方法。。。可是我只穩定的成功了第四種,掛載的那種時靈時不靈的,而且大多數人都只能成功第四種,不知道爲何。。。

第一種:用smb訪問 直接點-位置-網絡-裏面有個WINDOWS網絡,點進去找你要找的電腦和文件,屆時可能要賬號和密碼,注意填的是那個被訪問的計算機的賬號,不是先前建的那個new 這個方法最方便了! 可是成功率不高

第二種:用ubuntu 系統自帶的鏈接到服務器功能訪問 在位置中啓動鏈接到服務器,在服務類型中選擇「windows共享」,在服務器中輸入windows計算機的ip地址或計算機名,點擊鏈接,這樣在系統桌面中就會顯示一個鏈接到windows 計算機的文件卷。 咱們能夠像訪問ubuntu系統中的磁盤同樣來訪問它,一樣在訪問的時候要輸入smb的用戶名和密碼。 每每第一個方法不能成功的 這個也別想成功

第三種:用mount掛載windows的共享目錄到本地磁盤 首先要在ubuntu系統中創建一個掛載點,在這裏咱們創建的掛在點爲 /mnt/wind 一樣在保證網絡鏈接正常,且windows中有共享目錄的前提下,進行一下操做 以windows的ip爲192.168.0.1,共享文件夾爲share爲例

命令以下:

mount -t smbfs –o username=new,password=123456 //192.168.0.1/share /mnt/wind

¥我感受這個的成功率要比先前的那兩個方法高,一但掛載成功就好了

本人還衍生了一個方法貌似在我電腦上的可行性比較高,那就是知道共享的目錄的絕對地址後直接輸入絕對地址

smb://呂秀才/電影3/

呂秀才是他用戶名(不能用IP,IP沒用的)電影3是他的一個共享文件夾~

直接用smb://用戶名/共享文件名 這樣就能夠,在訪問的時候會問你那個XP的密碼這時填上就能夠了 還會驗證你的smb密碼 這個就用上面你設置那個就能夠了 反正我成功了¥

有時這樣在訪問的時候會出現中文亂碼的問題,這樣咱們能夠按下面命令來執行,能夠解決這個問題

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的用戶和密碼,若是要詳細瞭解mount命令,使用man mount在終端查看詳細用法 提示:要訪問windows中有特殊密碼的文件夾,能夠在samba中新建一個與windows登陸相同名相同密碼的用戶,而後mount便可,例:

sudo useradd administrator //不要讓其有登陸ubuntu的權限

sudo smbpasswd -a administrator

而後提示輸入密碼:輸入windows訪問的密碼便可


第四種:使用smbclient 命令 命令以下:

smbclient //對方IP/那個共享文件夾 -U 你的smb賬號,就是那個new

例如:smbclient //218.196.119.86/電影 -u new password:輸入smb用戶new的密碼

回車就能夠用,用命令get下載文件,用put上傳文件。

註解:

smbclient介紹:

命令 說明

?或help [command] 提供關於幫助或某個命令的幫助

![shell command] 執行所用的SHELL命令,或讓用戶進入 SHELL提示符

cd [目錄] 切換到服務器端的指定目錄,如未指定,則 smbclient 返回當前本地目錄

lcd [目錄] 切換到客戶端指定的目錄;

dir 或ls 列出當前目錄下的文件;

exit 或quit 退出smbclient

get file1 file2 從服務器上下載file1,並以文件名file2存在本地機上;

若是不想更名,能夠把file2省略

mget file1 file2 file3 filen 從服務器上下載多個文件;

md或mkdir 目錄 在服務器上建立目錄

rd或rmdir 目錄 刪除服務器上的目錄

put file1 [file2] 向服務器上傳一個文件file1,傳到服務器上更名爲file2;

mput file1 file2 filen 向服務器上傳多個文件


¥這個方法不出意外都成功,並且這個成功再試一試前兩個方法沒準也就成功了,總之我感受這個共享訪問時靈時不靈的,但願之後能改善~

排錯

亂碼

網上鄰居的中文目錄的顯示亂碼的處理方法: * 確認你的local,若是爲:zh_CN.UTF-8 則:

在 /etc/samba/smb.conf 中的 [global] 段加上:

display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

 

  • 確認你的local,若是爲:zh_CN.GB2312zh_CN.GBK 則:

在 /etc/samba/smb.conf 中的 [global] 段加上:

display charset = cp936
unix charset = cp936
dos charset = cp936

設置完畢後,須要註銷一次。才能夠看到中文的目錄。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息