ubuntu - 網絡文件夾訪問


轉自:http://wangjc.blog.163.com/blog/static/3603468420105321521614/

Ubuntu linux 系統訪問windows xp/2003/2000/7系統
網上查的,實現ubuntu linux系統訪問windows系統的方式有3種:

第一種:用smb訪問
如果在ubuntu linux系統終端ping windows主機的ip地址可以ping通,且windows計算機中有共享的文件夾,則打開位置下的網絡服務器,點擊界面 中windows網絡->workgroup,在workgroup組中就可以看到windows計算機名,雙擊會彈出輸入用戶名和密碼的對話框, 將我們上面設置smb的用戶名和密碼輸入就可以進行訪問。

在我的測試過程中,Ubuntu總是提示無法掛載,一直沒有找到解決辦法。

第二種:用ubuntu 系統自帶的連接到服務器功能訪問
但是最后我用絕對連接就可以訪問共享文件
就是smb://呂秀才/電影3/
呂秀才是他用戶名(不能用IP,IP沒用的)電影3是他的一個共享文件夾~
我發現用 smb://用戶名 或者 smb://IP 都不行 
直接用smb://用戶名/共享文件名 這樣就可以!在訪問的時候會問你那個XP的密碼這時填上就可以了 還會驗證你的smb密碼 這個就用上面你設置那個就可以了 反正我成功了
在我的測試過程中,這種辦法也不行。

第三種:用mount掛載windows的共享目錄到本地磁盤
首先要在ubuntu系統中建立一個掛載點,在這里我們建立的掛在點為 /mnt/wind
同樣在保證網絡連接正常,且windows中有共享目錄的前提下,進行一下操作
以windows的ip為192.168.0.1,共享文件夾為share為例
命令如下:
mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind
有是這樣在訪問的時候會出現中文亂碼的問題,這樣我們可以按下面命令來執行,可以解決這個問題
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訪問的密碼即可

在我的測試過程中,必須先安裝smbfs才行,並且

在Ubuntu下使用smbmount,需要安裝smbfs包,通過sudo apt-get install smbfs即可。

----------------------

以下是我讓Linux訪問我的Windows里設置的共享文件夾的命令

mount -t smbfs -o username=Bill,iocharset=GB2312 -l //192.168.1.100/test /mnt/test

這句命令中的那個smbfs就是要mount的對象的類型,因為是Windows共享的文件夾,所以就要用smbfs這個是固定的.然后那個Bill就是我主機的用戶名 GB2312就是設置字符編碼為GB2312也就是簡體中文,要不然訪問出來的中文就會是亂碼.

后面那個192.168.1.100是我Windows系統的IP,那個test是Windows里的那個共享名,

/mnt/test的意思就是把我Windows系統里的那個test文件夾掛接到Linux系統的/mnt/test這個目錄下,如果這個目錄不存在的話,你可以自己建立,也可以掛接到其它目錄,看自己喜歡吧.

在輸入這句命令之后

mount -t smbfs -o username=Bill,iocharset=GB2312 -l //192.168.1.100/test /mnt/test

它會提示你輸入密碼,然后輸入Windows系統的Bill這個用戶的密碼按回車就可以了,然后打開到/mnt/test這個目錄下就可以看到共享的東西都已經顯示在這個目錄下了

----------------

在Ubuntu下使用smbmount,需要安裝smbfs包,通過sudo apt-get install smbfs即可。調用方法如下,新建/share目錄后:
$ [sudo] smbmount //10.10.10.10/share /share -o username=<user_name>,password=<password>,codepage=cp936,iocharset=utf8
注意最后兩個參數,Linux默認是UTF-8編碼,中文Windows則是GBK,按codepage划分,也就是cp936(在實際使用中,好像不行,我是把這個參數去掉才行的)。如果你的環境和上述不一 致,則需要相應的修改codepage和iocharset參數。成功以后,我們就可以通過熟悉的ls, cp, cat, less, more, mv, zip, tar, rm, rename, nano, vi等等我們在Linux下已經習以為常的方式來操作了,就和本地文件夾一樣。
如果想在Linux啟動時自動把Windows共享掛進來,則可以修改/etc/fstab,增加如下內容:
//10.10.10.10/share /share smbfs username=<user_name>,password=<password>,codepage=cp936,iocharset=ut8,umask=000 0 0
//-------------------------------------------------------------------------------------------------------------------------
1.首先創建掛載點:
mkdir   /test 
2.mount -t smbfs -o username=UserName, password=Passwd,
   codepage=936, iocharset=cp936   //Windows_IP/共享目錄   Linux上的目錄名
eg:    RedHat AS 3下的實例
[root@origin root]# mkdir KelsenTest
[root@origin root]# mount -t smbfs -o username=xk,password=kaikai,codepage=936,iocharset=cp936 //192.168.1.126/GreenProgram KelsenTest
[root@origin root]#
//----------------------------------------------------
mount命令詳解
功能:加載指定的文件系統。 
語法:mount [-afFhnrvVw] [-L<標簽>] [-o<選項>] [-t<文件系統類型>] [設備名] [加載點] 
用法說明:mount可將指定設備中指定的文件系統加載到Linux目錄下(也就是裝載點)。可將經常使用的設備寫入文件/etc/fastab,以使系 統在每次啟動時自動加載。mount加載設備的信息記錄在/etc/mtab文件中。使用umount命令卸載設備時,記錄將被清除。 
常用參數和選項: 
-a 加載文件/etc/fstab中設置的所有設備。 
-f 不實際加載設備。可與-v等參數同時使用以查看mount的執行過程。

第四種:使用smbclient 命令
命令如下:
smbclient //192.168.0.1/share -U wangyh
password:輸入smb用戶wangyh的密碼
回車就可以用,用命令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 向服務器上傳多個文件

這種方式可以。

windows 訪問 ubuntu
下面我們來共享群組可讀寫文件夾,假設你要共享的文件夾為: /home/ray/share首先創建這個文件夾

代碼:

mkdir /home/ray/share
chmod 777 /home/ray/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

將下列幾行新增到文件的最后面,假設允許訪問的用戶為: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

后面的三行是為了防止出現中文目錄亂碼的情況。其中根據你的local,UTF-8 有可能需要改成 cp936。自己看着辦吧。現在要添加newsfan這個網絡訪問帳戶。如果系統中當前沒有這個帳戶,那么

代碼:

sudo useradd newsfan

要注意,上面只是增加了newsfan這個用戶,卻沒有給用戶賦予本機登錄密碼。所以這個用戶將只能從遠程訪問,不能從本機登錄。而且samba的登錄密碼可以和本機登錄密碼不一樣。現在要新增網絡使用者的帳號:

代碼:

sudo smbpasswd -a newsfan
sudo gedit /etc/samba/smbusers

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

代碼:

newsfan = “network username”

如果將來需要更改newsfan的網絡訪問密碼,也用這個命令更改

代碼:

sudo smbpasswd -a newsfan

刪除網絡使用者的帳號的命令把上面的 -a 改成 -x

代碼:

sudo testparm
sudo /etc/init.d/samba restart


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM