歡迎您光臨本站 註冊首頁

建立windows與linux簡單通信(二)

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
白天記載了如何利用VMware-tools是的windows與linux之前共享起來,但前提是linux是裝在windows虛擬機上的,如果一部電腦只有linux那以上的方法就沒用了.還是找到正統的linux自帶的服務來達到這個目的吧.
不知道是我笨還是我倒霉,本來挺簡單的一件事情,網上的資料也挺多的了,我照著一步步做下來,得到的結果卻是斷斷續續搞了快一個星期,還把自己的windows弄崩潰了,不得不重裝解決問題了.
我還是絮絮叨叨的把如何配置samba給簡要介紹下,然後我再談談就這麼一件簡單的事情我是怎麼給複雜化,直至弄到系統崩潰的.
一、安裝samba:
1.查看本身系統中是否已經安裝samba.
#rpm -qa grep samba,如果出現
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
那麼恭喜你,你已經安裝好了samba,如果沒有請安裝.
2.安裝samba.
在第一張系統光碟中找以下samba軟體包(應該在/mnt/cdrom/RedHat/RPMS下),
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-2.2.7a-7.9.0,並依次安裝
#rpm -ivh samba-******
如果都出現了100%的話,說明你已經安裝好了samba,可以進行共享配置了.
但是為了之後的配置方便,建議在第二或三張光碟中(路徑同上)找到redhat-config-samba-1.0.4-1和samba-swat-2.2.7a-7.9.0並安裝.
3.現在再來測試一下,
#rpm -qa grep samba
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-swat-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
這樣說明所有的samba組件都已經安裝成功,可以進入下一個環節了.
2、配置samba.
利用我們安裝的redhat-config-samba-1.0.4-1進行配置,方法如下:
開始--->系統設置--->伺服器配置--->samba伺服器


首選項-->伺服器設置,這裡你可以對samba伺服器進行一些基本的設置里,應該說比較簡單了,
我看沒有必要介紹了,配置好之後,記住重新啟動服務.
重新啟動的方法有兩種:
#service smb start或restart
#/etc/rc.d/init.d/smb start
(2)方法2
利用samba-swat-2.2.7a-7.9.0
,你要修改swat的配置文件,默認的情況下是關閉的
service swat
{
port = 901 (swat用到的埠是901)
socket_type = stream
ait = no
only_from = 127.0.0.1(只從這個啟動swat,關鍵!)
user = root(啟動swat用到的名子)
server = /usr/sbin/swat
log_on_failure = USERID
disable = yes (一定要把yes改成no)
}
修改過之後,啟動xinetd就可以了
啟動方法跟剛才我說的一樣
然後在瀏覽器里敲入:http://127.0.0.1:901
(注意,這個IP地址要跟你在SWAT配置文件里的IP地址一樣才形,切記!)
至於如何使用swat,自己摸索一下應該不成問題了,配置完成以後,記得重新啟動服務就
可以了.對了,為了是的samba和swat在每次開機的時候啟動,你可以這樣:
#setup,然後找到system service,在SMB和SWAT前搞個*,也可以#ntsysv,同樣的效果.
(3)方法3
利用samba-2.2.7a-7.9.0,這是最根本的東西,不管用什麼工具,掌握其原理才是最重要的,裝好samba-2.2.7a-7.9.0之後,會在/etc/samba/下形成一個文件
smb.conf smbpasswd smbusers lmhosts,如果沒有其中的一個,你可以toUCh創建
修改smb.conf文件
我只做簡單的說明:guest ok 和public是一樣的,read only 和writable是相反的,沒什麼區別
workgroup=(工作組名子,填上你目前的LAN的工作組)
netbios=(最好是你的機器名,如果把改句注消,默認的是你LINUX機器名,不過,最好還是自己填上)
client code page=936(默認是850,936是簡體中文的意思,這個要記住,難道不記得你mount你windows系統下的中文名子都是???,就是你沒有加-o iocharset=cp936的原因!)


guest account=nobody(guest帳號,這於你定義的共享文件頰有關,其中nobody在smbusers里有)
security = SHARE(有四個級別,不多說)
encrypt passWords = Yes(加密的密碼, win98/2000傳送的密碼都是加密的,這裡要yes)
以上都是[global]的內容,
下面就是你要開的共享的東西,要說明的是,文件夾共享的屬性取決於該文件在LINUX里的許可權設定
[myxfc]
comment = myxinfc
path = /home/xinfc
read only = No
guest ok = Yes


[tmp]
path = /home
valid users = hehl
write list = @staff
read only = No
guest ok = Yes
共享的設定其實很簡單,主要是路徑和許可權的問題,這兩個搞清楚了 ,應該沒問題了
配置到此應該沒有什麼問題了.
三、應用samba.
費了這麼半天的事我們要做的事要實現linux與windows之間的共享,那來看看效果如何吧!
1.View from windows. 還是先從熟悉的地方開始,從windows中來看看linux下面共享了什麼吧.
方法很簡單,在網路鄰居中的工作組中應該可以看到linux的主機已經出現了.打開瀏覽器,敲入http://linux_ip/share(文件夾名字),回車就可以看到linux共享的文件了.在這一過程中,可能會出現一些由於許可權、安全設置的原因而產生一些問題,這些我會在以後的時間裡再拿出來仔細分析.
2.View from linux. 在linux下面,我們可以通過samba client來訪問windows的共享文件夾.
#smbclient -L //localhost -U smbuser
#password: ******
4.問題.
當我按照以上標準教程一步步做下來后,鬱悶的發現還是無法建立起兩個系統間的通信.
問題如下:Linux 下面的samba伺服器沒有問題,可以用smbclient -L localhost訪問,但是在windows

網路鄰居中始終都無法找到Linux伺服器.用smbclient -L192.168.0.5(windows主機地址)連接,會出現error:192.168.0.5:139 connection refused,
error: 192.168.0.5 connetion refused.
利用一些排錯手段,發現ping ip地址肯定沒問題,但是ping 主機名稱不行,會返回unknow host錯誤提示. 我試過telnet,從linux下面可以telnet到windows dos下,但是如果在telnet ip後面加上139埠就不行了,會報告連接被拒絕. 我在windows下用netstat -a查看不到139埠處於監聽狀態. 再次強調一下我為了這個測試已經把兩邊的防火牆都關閉了(我wxp下用的瑞星防火牆) 
在網上發了很多帖子詢問,也查了很多相關資料,我在Linux下藉助LinNeighborhood(linux共享信息圖形界面,有點像windows的網路鄰居)可以發現在同一工作組的其它windows主機,我與自己的電腦做了一個對比,在命令行下查看 埠,發現沒有處於監聽狀態的139(netbios ssn)這個埠,我用盡網上列舉的各種方法,試圖開啟此埠,但均未奏效...
我把問題歸結於windows下面的tcp 139 udp 137 138埠沒有打開,而這三個埠是windows下面netbios監聽埠,它們沒打開也就無法與linux的netbios建立session(會話).   
就在解決這個問題的過程中,意外就發生了,本來以為是防火牆阻止了這幾個埠,徹底把瑞星防火牆刪掉了,但發現windows自帶的防火牆不能使用,被組策略控制.從網上得知可能中病毒了,就啟用瑞星殺毒,一個多小時過去了,貌似沒有什麼毒.又從網上看到優化大師中也能設置網路埠,於是我就打開了闊別已久的「大師」,一項項去找與埠有關的項,結果沒看清找到哪裡時,彈出一個對話框詢問是否要優化,我過於新人這位大師,點了"yes".結果不要緊,我再開機的時候電腦完全變了個樣,聲音也沒有了,很多程序不能使用了,這時用恢復也恢復不了了. 但這時還可以進行一些基本操作,在網上查了一些資料后,我又做了一個錯誤的決定,這個決定導致系統完全不可再恢復.關機重啟后直接藍屏...


還是得通過最原始的方法來解決這個問題,重裝,很簡單,現在的安裝盤超酷,十分鐘不到連驅動都裝好了...
現在系統一切正常,接下來我得升級下我的內核了... 才發現很古老!


[火星人 ] 建立windows與linux簡單通信(二)已經有825次圍觀

http://coctec.com/docs/linux/show-post-55350.html