文件共享是重要的網絡需求,特別在企業環境中這種需求顯得非常迫切。我們知道Windows主機間的文件共享非常簡單,可以通過網上鄰居實現。但是企業環境中主機的操作系統比較復雜,其中不乏Linux、Unix這樣的系統。那如何實現Windows與Linux之間的文件共享呢?一個有效的解放方案是,在Linux平台上部署SAMBA即可實現此類共享需求。下面筆者搭建環境,實例演示在Linux中部署SAMBA的詳細技術細節。
環境描述
Linux系統:Red Hat 9.0
Windows系統:Windows XP sp2
一、SAMBA服務部署
1、samba安裝
(1).驗證
samba是Linux系統集成的一個工具,在安裝Linux的過程中用戶可以選擇安裝。驗證系統是否安裝了samba可以通過如下命令進行查看:
[root@localhost root]# rpm -qa |grep samba
如果如下面所示,就說明已經安裝了samba:
samba-swat-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
從圖1可以看到筆者的Linux已經安裝了samba。(圖1)
.(2).安裝
如果上述命令沒有任何顯示,就說明沒有安裝。要安裝samba非常簡單。將RedHat 9.0的第一張安裝盤放入光驅,系統會自動掛接。如果沒有掛接可輸入mount /mnt/cdrom進行掛載,然後按照下面的操作進行安裝:
# cd /mnt/cdrom/RedHat/RPMS
# rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
# rpm -ivh samba-2.2.7a-7.9.0.i386.rpm
# rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm
這樣我們就安裝好了samba,然後輸入命令進行查看:
# ls /etc/samba
可以看到有三個文件分別為lmhosts、smb.conf、smbusers。
(圖2)
2、samba配置
samba安裝完成後還需要配置,需要對smb.conf配置文件進行修改。我們可以用vi打開進行修改。其實對於一般的應用采用缺省設置就可以了,不過我們基於安全性和特殊性的要求需要對其中的一些項目進行修改。筆者建議修改的項目有如下幾項:
(1).激活interfaces = 192.168.12.2/24 192.168.13.2/24項,這是設置可訪問samba的網段,我們可以將其設置為interfaces = eth0,設置可訪問的網卡。
(2).激活username map = /etc/samba/smbusers,這是用戶映射,是為了服務器的安全而設置的。
(3).在smb.conf設置,申明共享文件夾。比如我們創建的共享文件夾為/home/gslw,然後分配用戶訪問權限。我們可以這樣分配:admin、root用戶可以讀、寫,而其他用戶只能讀不能寫。在企業環境中我們可以通過創建組來統一設置用戶的訪問權限。不過需要說明的是,這些用戶必須是Linux的系統用戶,然後將其加入samba。
比如我們可以添加類似這樣的語句:
[gslw]
comment = gslw
path = /home/gslw
write list = root
read list = gslw
smb.conf文件配置完成後保存退出即可。
(圖3)
(4).下面需要配置smbusers文件,設置用戶訪問權限。用vi打開smbusers文件,然後將
root = administrator admin
nobody = guest pcguest smbguest
修改為
root = admin
gslw = 11
nobody = guest pcguest smbguest
保存並退出。
(圖4)
配置完成後,我們輸入命令testparm進行對samba配置文件的測試,如圖5所示,測試正常。(圖5)
3、創建共享文件夾
作為測試,我們運行命令mkdir /home/gslw創建共享文件夾,然後輸入命令ls /home可以看到文件夾創建完成。
4、添加用戶
要訪問該共享文件夾,還需要添加用戶。輸入命令smbpasswd -a root,將root用戶添加進來,並為其設置訪問密碼。同樣的我們輸入命令smbpasswd -a gslw,將gslw用戶添加進來並為其設置密碼。諸如此類,大家可以根據需要添加相應的用戶。(圖6)
5、設置權限
設置共享目錄的訪問權限,比如我們設置為完全控制可輸入命令即可chmod 777 /home/gslw。權限設置完畢後需要重新啟動服務,輸入命令service smb restart即可。(圖7)
6、訪問測試
(1).linux訪問
我們先在linux下訪問SAMBA共享文件夾進行測試。輸入命令smbclient //192.168.216.133/gslw -U root
,然後輸入密碼可以看到訪問成功。進入smb命令行,我們輸入ls命令查看共享目錄中的文件,當然也可以通過mkdir命令創建目錄。然後用gslw登錄samba服務器,可以利用ls查看共享目錄中的文件,然後用mkdir創建文件夾,可以看到沒有成功,這是因為我們在samba的配置文件設置了gslw用只有讀權限,沒有賦予其寫權限。通過上面的測試,說明我們的samba服務器創建成功,在linux下訪問成功。(圖8)
(2).Windows XP訪問
下面我們測試在XP中是否可以訪問samba服務器中的共享文件夾。打開“我的電腦”,在地址欄中輸入samba服務器的IP地址。我們輸入\\192.168.216.133回車後彈出登陸框,輸入登錄用戶名admin密碼test168,可以看到成功登錄samba服務器,可以看到我們在samba的命令行下剛才創建的目錄。(圖9)
總結:Samba是一個網絡服務器,用於Linux和Windows共享文件之用。上面演示的利用samba服務實現Linux與Windows直接的文件共享,涉及了samba的設置幾個重要方面。其實,在實際應用中我們可以根據自己的需要進一步深入設置,只有把配置文件和共享目錄的權限結合起來,才能使Samba服務發揮更大的作用。