為了實作Windows主機與Linux伺服器之間的資源共享,Linux作業系統提供了Samba服務,Samba服務為兩種不同的作業系統架起了一座橋梁,使Linux系統和Windows系統之間能夠實作互相通信,為廣泛的Linux愛好者提供了極大友善。本文簡要介紹如何在Linux作業系統上搭建Samba伺服器和簡單配置。
1、服務查詢
預設情況下,Linux系統在預設安裝中已經安裝了Samba服務包的一部分 ,為了對整個過程有一個完整的了解,在此先将這部分解除安裝掉。使用指令
rpm -qa | grep samba ,預設情況下可以查詢到兩個已經存在的包:
samba-client-3.0.33-3.7.el5
samba-common-3.0.33-3.7.el5
2、解除安裝Samba
用rpm -e 将兩個包解除安裝掉。對于samba-common-3.0.33-3.7.el5,因為與其它rpm包之間存在依賴關系,是以必須加參數-f和--nodeps,-f是指強制,--nodeps是指不檢查依賴關系,具體完整指令為:
rpm -e samba-common-3.0.33-3.7.el5 -f --nodeps
rpm -e samba-client-3.0.33-3.7.el5 -f --nodeps
3、安裝Samba
用以下指令安裝:
rpm -ivh samba-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
rpm -ivh samba-client-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
rpm -ivh samba-common-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
安裝完成後,使用指令rpm -qa | grep samba進行查詢,發現搭建samba伺服器所依賴的所有伺服器都已經安裝好了即可。
4、配置smb.conf檔案
Samba的配置檔案一般就放在/etc/samba目錄中,主配置檔案名為smb.conf,檔案中記錄着大量的規則和共享資訊,是以是samba服務非常重要的核心配置檔案,完成samba伺服器搭建的大部分主要配置都在該檔案中進行。
Samba伺服器的工作原理是:用戶端向Samba伺服器發起請求,請求通路共享目錄,Samba伺服器接收請求,查詢smb.conf檔案,檢視共享目錄是否存在,以及來訪者的通路權限,如果來訪者具有相應的權限,則允許用戶端通路,最後将通路過程中系統的資訊以及采集的使用者通路行為資訊存放在日志檔案中。
第一步:修改配置檔案
首先備份一下samba的配置檔案
cd /etc/samba
mv smb.conf smb.confbak
然後重新建立一個smb.conf檔案
touch smb.conf
然後我們把這段寫入smb.conf中
[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share
[linuxsir]
path = /opt/linuxsir
writeable = yes
browseable = yes
guest ok = yes
注解:
[global]這段是全局配置,是必段寫的。其中有如下的幾行;
workgroup 就是Windows中顯示的工作組;在這裡我設定的是LINUXSIR (用大寫);
netbios name 就是在Windows中顯示出來的計算機名;
server string 就是Samba伺服器說明,可以自己來定義;這個不是什麼重要的;
security 這是驗證和登入方式,這裡我們用了share ;驗證方式有好多種,這是其中一種;另外一種常用的是user的驗證方式;如果用share呢,就是不用設定使用者和密碼了;
[linuxsir] 這個在Windows中顯示出來是共享的目錄;
path = 可以設定要共享的目錄放在哪裡;
writeable 是否可寫,這裡我設定為可寫;
browseable 是否可以浏覽,可以;可以浏覽意味着,我們在工作組下能看到共享檔案夾。如果您不想顯示出來,那就設定為 browseable=no
guest ok 匿名使用者以guest身份是登入;
第二步:建立相應目錄并授權;
[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir
注釋:
關于授權nobody,我們先用id指令檢視了nobody使用者的資訊,發現他的使用者組也是nobody,我們要以這個為準。有些系統nobody使用者組并非是nobody ;
第三步:啟動smbd和nmbd伺服器;
[root@localhost ~]# smbd
[root@localhost ~]# nmbd