Linux的開放性與免費理念吸引了無數的計算機愛好者,越來越多的人加入了Linux的陣營。但Linux使用的文件系統為Ext2,和傳統的Windows系列的FAT不同,如何溝通兩者間的資源成為應用中的一大問題。下面就介紹幾種解決該問題的方法。
(一)同一機器上文件系統的共享
1.Windows系統下訪問Linux分區信息
網絡上提供一些程序用於在Windows系統下訪問Linux分區信息,可以在http: //uranus.it.swin.edu.au/~jn/linux/下找到相應軟件;也可以在www.globalxs.nl站點下載程序 fsdext.zip,解壓後依照說明將vext2d.vxd、tsdext2.vxd拷貝到c:\windows\system目錄下,使用命令 mount /dev/hda2 g將Linux分區虛擬為新的盤符g,卸載也只需使用命令mount /u g即可輕松完成。
2.Linux系統下訪問Windows分區信息
直接使用Linux 的mount 命令加配參數即可實現。
(二)不同機器間文件系統的共享
需要在Linux系統上配置NFS、Samba等服務進程以支持資源互訪。下面介紹如何配置Samba服務進程。
Samba由兩個守護進程smbd和nmbd組成,可由命令 /etc/rc.d/init.d/smb start 啟動。啟動時讀取配置文件 /etc/smb.conf。查詢是否啟動可使用ps -ef grep smbd命令;停止Samba可使用命令/etc/rc.d /init.d/smb stop。smb.conf文件主要包括以下部分:
1.Global (全局)參數
該部分設置整個系統的規則,定義了一些公共變量。
netbios name=web
定義Windows系統“網上鄰居”中所見的機器名。
workgroup=SambaServer
定義服務器的工作組名。
server string=Samba Server
對主機的說明信息。
hosts allow=202.110.211.225
guest account=hgz
定義smb用戶名稱。
security=user
定義訪問權限。訪問權限由低到高有三種:share、user和server。其中share安全級別最低,user模式要求連接時輸入用戶名和口令,可由以下命令建立smb網絡用戶:
#dduser username 添加該用戶為Linux用戶。
#mbpasswd -a username 添加該用戶為smb用戶。
#mbpasswd username 修改smb賬戶的口令,最後與/etc/passwd中的口令一致。
server模式要求用戶的認證由Samba服務器或NT服務器來完成。
encrypt passWords=yes
設置是否需要加密口令。因為Windows系列默認采用加密口令傳輸,而Linux默認采用非加密口令傳輸,為保證smb網絡用戶的正常登錄,在user安全級下設置為加密,在share 安全級下可不設。
smb passwd file=/etc/smbpasswd
由命令cat /etc/passwd mksmbpasswd.sh > /etc /smbpasswd產生。
interfaces=202.110.211.225/24
配置smb服務所使用的網卡IP以及子網掩碼。A段網址為8, B段網址為16, C段網址為24。如果有兩個以上網卡,要全部列出。
name resolve order=host dns bcast
設定smb服務時,從機器netbios名稱到IP地址的解析方式,默認順序為host lmhosts wins bcast。如果局域網內有DNS,可設置為host dns bcast。
wins support=no
設置是否有wins支持。
public = yes
為yes時,“網上鄰居”中可見該資源,否則不可見。
browseable = yes
為yes時,“網上鄰居”中可見該資源,否則不可見。
printing = bsd
指定Linux使用哪個打印機守護進程(bsd、sysv、hpux、aix、qnx、plp),同時向samba說明命令lpr和lpq的缺省值。
printcap name = /etc/printcap
定義了打印配置文件所處的位置。
load printers = yes
表明是否加載printcap 定義的所有打印機以供浏覽。
2.Directory shares (目錄共享部分)——包括標准[homes]部分
該部分通常定義了Linux機器上共享的目錄資源,其名字可以由用戶確定。段中的設置控制了每一個用戶目錄的共享權限。
Comment = Home Directories
設定在浏覽本機資源時,出現在指定資源旁邊的字符串。
Browseable = no
控制一項服務是否能夠出現在網上鄰居中,no意味著這個目錄將在浏覽時顯示為要驗證的用戶名稱,yes則顯示 homes 和要驗證的用戶名稱的共享目錄。
Read only = no
控制是否允許通過驗證的用戶對主目錄有寫入的權限,但最終取決於該目錄的 Unix 權限。無論 Unix 的權限怎樣, 設置 read only = yes 後, 主目錄只能是只讀的。
3.Printer shares (打印共享)部分
Comment = All Printers
指定為哪些設備進行設置。
Browseable = no
指定是否能夠浏覽Windows 客戶機的printcap 文件定義的全部打印機。
Printable = yes
指定是否允許不打印而去訪問與打印服務相關的假脫機目錄,例如:/var/spool/lpd/lp。
Public = no
指定未被Linux 用戶名驗證的Windows 客戶機是否有權使用Samba 打印服務。
Writable = no
指定是否有權寫假脫機目錄。
Create mode = 0700
假脫機文件的缺省許可權限。
4.Public 部分,配置共享目錄部分
Comment = Public Stuff ;說明部分
Path = / ;共享的Linux目錄
Writable = no ;寫權限
Printable = yes
配置文件設置完畢後,重新啟動Samba,可以運行以下幾個程序進行檢測或共享Windows系統資源。
● 運行Testparm程序檢測smb.conf的配置文件是否正確。
● 啟動Samba2.0.3版本中的swat程序,就可以利用浏覽器來配置smb.conf文件。編輯/etc/inetd.conf 文件,將其中swat前的注釋去除,再由inetd 服務啟動。重啟後在Linux主機或相同的客戶機浏覽器的地址中輸入http://Linux主機名或IP地址,就可以利用浏覽器來進行smb.conf 文件的配置與管理工作。
● 運行Smbstatus程序顯示Samba 當前輸出的共享資源。
● 可以把Smbclient程序用作一個基於Linux的Microsoft(smb)的客戶,提供FTP模式界面,便於進行調試。
例如:smbclient -L 主機名 <口令> <-U 用戶名>
可以查看主機的共享資源信息。smbclient \\\\主機名\\共享目錄名 <口令> <-U 用戶名>可以連接網絡共享資源。其用法類似ftp。
● Nmbclient是可以用來進行調試的程序。
● Smbfs程序是使用SMB協議工作的文件系統。
● Smbmount程序用於在Linux上安裝smbfs。使用它可以將Windows共享目錄安裝在 Linux主機上。
例如:smbmount \\\\主機名\\共享目錄名 <口令> -c ‘mount /mnt/smb’命令就可以將指定主機的共享名安裝到本地的目錄。
● Smbumount程序用於卸載Smbmount建立的共享資源目錄。
● SmBTar是一段shell腳本程序,它通過Smbclient使用 tar格式備份和恢復一台遠程Windows的共享文件。
● Smbumount程序用於卸載Smbmount建立的共享資源目錄。
● SmBTar是一段shell腳本程序,它通過Smbclient使用 tar格式備份和恢復一台遠程Windows的共享文件。