一點理論: 在Windows中,我們都知道網絡鄰居,是Windows共享資源的方式。Linux寫Windows互訪與共享資源的方式是利用Samba服務,其實我覺得它更象一個軟件。Windows與Linux通過Samba,可以相互共享資源,是互為服務器和客戶端的關系。比如當裝有Windows操作系統的機器,向裝有Linux系統的機器存取文件,那Windows應該是客戶機,而Linux則是服務器;如果Linux的機器向Windows訪問和存限文件及使用Windows提供的打印服務,這時應該說Windows是服務器,而Linux是客戶機。
注意的事項: 1。如果在windows下不能加入linux的共享,可能出現在帳戶上,要在linux和window的機器上都要建一個相同的用戶,密碼也要一樣。否則不能訪問。 2。如果在windows的網絡鄰居中,有時可能不會發現linux的共享。我們要自己在添加網絡鄰居中加上。要以\\linux的samba的主機名也就是netbios name中定義的\共享名。這樣說可能新手弟兄不太懂。我說的也不太專業。呵。。。請仔細看本帖中的\\linsir01\win02類似的,還有\\linsir01\share;\\linsir01\win03之類的。 3。要在windows加上相關的協議;添加網絡協議,把IPX/SPX以及NETBEUI兩個協議加入。 操作環境:三台機器,兩台win2000;一台是RH80. 一、查看是否Samba在系統中被安裝了;這也是安裝其它軟件的操作步驟:注:以root登入,或者以root權限執行; #rpm -qa grep samba samba-2.2.5-10 samba-swat-2.2.5-10 samba-common-2.2.5-10 samba-client-2.2.5-10 如果沒有出現上面的三個安裝包,我們就要在盤中把這些包找出來安裝上;把光盤中凡是帶有samba的都找出來,放到linux的一個臨時的文件夾中。比如我們臨時放到/tmp目錄裡。 然後執行: #rpm -ivh samba*.rpm --nodeps --force 二、然後我們判斷一下,是否samba服務已經啟動,如果沒有,我們就得打開。 一般說來,在系統默認的情況下,samba是不會啟動的。但我們也應該懂得如何查看此服務是否啟動了,這也是我們的一個操作的流程吧。使用查看進程命令: #ps -aux grep smb 在這裡,我們要說明一點,為什麼我們不用#ps -aux grep samba命令呢,在下文可能就明白了,現在能記住就好了。不為什麼,因為系統的服務就是smb,而非samba,samba只是一個名字而已。 如果用查看進程的命令,出現了第二行的樣子。就是已經把samba服務打開了,如果沒有出現,就是沒有打開。 #ps -aux grep smb root 1719 0.0 0.3 4916 1820 ? S 08:21 0:00 smbd -D root 1849 0.0 0.1 4776 628 pts/1 S 08:48 0:00 grep smb 三、打開samba服務; 如果我們沒有打開samba服務,我們應該用以下兩種方法來打開,系統服務,一般打開方式都是如此。 1.用setup命令來打開,在#setup執行下去的時候,有個System serverices,然後移動鍵盤的上下鍵來選定[System serverices]項,然後把smb和swa兩項前面加個*號,表示已經選中了,意思就是自動啟動這兩個服務。或者用更直接的辦法用命令進入[System serverices]的選擇框中。 以上解釋中用到的兩個命令是: #setup 或 #ntsysv 以這種方式,只是打開,但如果不重新啟動,samba的服務也不能運行,我們還要用命令來執行,讓機器不重新啟動的情況下把samba服務執行起來,一般的情況下,我們要操作的samba的命令都在/etc/rc.d/init.d/目錄裡,要用下面的方式來運行。 # /etc/rc.d/init.d/smb start 用了上面的命令,如果能看到下面的提示,就證明已經把samba啟動了。 啟動 SMB 服務: [ 確定 ] 啟動 NMB 服務: [ 確定 ] 當然也可以用下面的方式,只是多了一步,不過進入/etc/rc.d/init.d/目錄看一下也好,看裡面都有什麼,凡是我等菜鳥,也不能不看一下。 #cd /etc/rc.d/init.d/ 然後再執行 #./smb start 然後了,那如何把samba的服務停下來呢?那就stop;如何重啟samba服務器,那就restart了 如果是在/etc/rc.d/init.d目錄中,我們就要執行 #./smb stop #./smb restart 如果不在/etc/rc.d/init.d目錄中,我們就要這樣執行,上面已經有說過了。 # /etc/rc.d/init.d/smb stop # /etc/rc.d/init.d/smb restart 2.運行如下的命令也有在X下打開 #redhat-config-services 然後也是選中smb和swat,然後保存一下。這個比較簡單。如果您在smb這項,選中後,然後就點一下開始。這樣就把smb服務打開了。 把服務打開了也啟動起來了,我們還是要用查看進程命令來查看一下,samba服務是否在運行了。 #ps -aux grep smb 如果還是沒有下面這行,我覺得不太可能了。呵。。。。。 root 1719 0.0 0.3 4916 1820 ? S 08:21 0:00 smbd -D
設置samba的配置文件 1.圖形化的配置工具swat; 打開mozilla,或者konqueror以及gnome下的文件管理器,總之無論如何打開文件管理器就行了。在地址欄中輸入 127.0.0.1:901就會出現一個提示框[
[email protected]:901] 在用戶名下輸入root用戶名和密碼就能進入圖形置置界面了,這個比較簡單。 1]點一下[Global]那項,就出來一個讓我們設置的選項。我們只要簡單的設置一下這些就行了,如果您對samba不太了解,建議不要改其它的東西。如果您按我在前面說的做,把smb.conf 文件有備份,那您改就改吧。。哈。。錯了也沒有什麼,我們再恢復一下就OK了。。 Base Options client code page 936 這樣就能顯示簡體中文了用戶組名。 [workgroup]這一項,就是在網絡鄰居中[Windows的稱呼]中的工作組的名稱,這一項我用的是MSHOME,因為我把其它的兩台電腦也設置在了這個工作組。 [netbios name]這是出現在網絡鄰居中的主機名,我設置的linsir01,采用默認也行。出現的是Linux真正的主機名。 [security],設置為user [encrypt passWords]設置為yes 2]點一下[shares],也看一下吧。這個也是比較重要的,我還是主要說幾點要注意的。其實我們在局域網中用到的都比較簡單的功能。簡單的設置一下就行了。 點一下[choose share],有一個是[homes]的選項吧。點一下。。。然後。。。。看過來。。看一下和下面的差不多就行,其實不用改什麼,了解一下就行。。 comment 這個選項可以不寫 path 也可以不寫 guest account nobody 默認就行。 valid users %S read only Yes guest ok No 3]creat share 這一項就是要我們創建共享目錄以及個人目錄的,可能有的弟兄有點不解,為什麼這樣說呢??一步一步的來。。。。。 A。我們創建一個win02,在[ceate share]那個按鈕的邊上,有個空格。呵。。。可能您知道了吧,寫個win02,然後按一下[create share] comment win02 path /home/win02 username win02 guest accoun nobody valid users win02 read only No guest ok No browseable Yes available Yes B。以相同的辦法創建win03,目錄也為/home/win03 C。然後我們再創建一個所有用戶都能看共享的目錄,也就是說,所有的用戶都能寫入,讀取,執行。我就是把這個目錄用來做windows機器軟件安裝的基地了。哈。。。 我們還是按照上面步驟A的樣子,在[create share]上輸入share, 對於名字來說,我們還是不要用太長的,否則測試通不過,可能是最多只有8個字節,所以我就用最簡單的了。點到為止。 comment win and linux share path /share guest accoun nobody read only No guest ok Yes browseable Yes available Yes 這樣就行了。。。 關於打印方面的,以linux的機器上的打印機,還是大家一起來研究吧。我安裝成功了,可是windows打印東西,總是出亂碼。所以在這裡我就不說如何設置了。我成功了,再補充。 4]測試配制文件是否正確 [root@linuxsir01 root]# testparm Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[share]" Processing section "[win03]" Processing section "[win02]" Loaded services file OK. Press enter to see a dump of your service definitions 如果出現上面樣子的,就差不多了,如果有警告之類的,可能問題出現在[share]那一步中,可能名字太長了,不要超過8個字節。否則通不過 5]重新啟動smb [root@linuxsir01 root]# /etc/rc.d/init.d/smb restart 關閉 SMB 服務: [ 確定 ] 關閉 NMB 服務: [ 確定 ] 啟動 SMB 服務: [ 確定 ]