[Android]Samba伺服器在Ubuntu下的配置與Windows系統間的資料共用

來源:互聯網
上載者:User

標籤:android   c   code   a   tar   get   

安裝Samba

安裝samba
sudo apt-get install samba
[編輯]
Kubuntu

安裝系統設定的共用模組
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

搜尋這一行文字 代碼:
; security = user

用下面這幾行取代

代碼:
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

當你輸入上面的命令的時候有可能會出現“執行子進程“testparm”失敗沒有該檔案或目錄” 此時你要重新輸入 命令: apt-get install samba-common-bin 這個問題就可以解決了 輸入重啟命令: sudo /etc/init.d/smbd restart

好了,到這簡單的samba服務哭就配置好了 點開你的win下網路位置 查看工作群組電腦裡面就有共用的samba服務,不過前提是你已經開啟samba服務

 

註冊: 2009-04-11 20:52 文章: 147 地址: 北京勁松 送出感謝: 0 次 接收感謝: 0 次
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

設定完畢後,需要登出一次。才可以看到中文的目錄。
[編輯]
smb使用者密碼

smb使用者密碼與unix帳號密碼可以一樣或不同,它們之間不存在串連關係。
#smbpasswd -a user

即可為user添加設定smb使用者密碼。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.