1. 程式人生 > >Linux下最完整的Samba伺服器配置攻略

Linux下最完整的Samba伺服器配置攻略

關於Samba,大家有沒有這種感覺,弄了N久丫的死活不喘氣兒。找來各種“哥”和“姐”,發現全是“詳解…配置專題”,看了半天不知道別個在說什麼,好不容易找了個簡單的教程,從頭到尾跟著做,尼瑪,浪費時間精力不說,就是跑不起來。是不是有種吐血的生理反應了。唉,不會寫文件的娃,傷不起啊。而本文實現的是Linux和Windows間資源互通的問題:在Linux下架設Samba伺服器,在Windows下來訪問。

1、  下載及安裝Samba

        推薦用yum來安裝,這樣它可以自己解決包的依賴關係,省時、省事又方便。一條命令搞定:

        yum -y install samba

2、  配置Samba

        關於Samba的配置網上資料一大堆,可照著很多教程一步一步做下去發現最後就是用不了,鬱悶至極啊。

        我的目的不是多仔細,多深入的教你Samba的好,而是教會你如何快速的可以將Samba用起來,因此安全性方面的東西考慮的不是很多。但為了照顧到大家不同檔次的水平和口味,我還是儘可能的多寫一些東西。

        首先,我強烈的建議大家在修改系統原有任何檔案的時候一定要養成“先備份,後修改”的好習慣,相信我,這個習慣會為儂節約很多不必要浪費的時間。接下來我要做的是將/home/目錄下的使用者“koorey”的主目錄給挖出來,供我在windows下訪問。步驟如下:

       1). 備份Samba的配置檔案:cp  /etc/samba/smb.conf  /etc/samba/smb.conf.bak

       2). 網上很多教程說針對/etc/samba/smb.conf檔案要在[global]欄位中加入下配置項:

dos charset = GB2312 ←將Windows 客戶端的文字編碼設定為簡體中文 GB2312

                  unix charset =GB2312 ←指定Samba所在的CentOS服務端新建檔案或目錄時的編碼為 GB2312

                 display charset= GB2312 ←指定使用SWAT(一種通過瀏覽器控制Samba的工具)時頁面的預設文字編碼

                 directory mask =0777 ←指定新建目錄的屬性(以下4行)

                 force directorymode = 0777

                 directorysecurity mask = 0777

                 force directorysecurity mode = 0777

                 create mask =0777 ←指定新建檔案的屬性(以下4行)

                 force createmode = 0777

                 security mask =0777

                 force securitymode = 0777

        宣告:我沒有加這些配置,而且在我在共享出來的目錄裡新增,修改刪除檔案都沒任何問題,還沒有亂碼現象。

        我在/etc/samba/smb.conf檔案的末尾之新增如下欄位:

        [koorey]

                comment = koorey

                path = /home/koorey

                writable = yes

        3). Linux中/etc/passwd裡的使用者和Samba裡的使用者幾乎沒啥關係,硬說有的話,那就是:Samba的所有使用者都必須是系統裡已存在的使用者。我們要授權系統使用者訪問Samba的話,通過命令:

        smbpasswd  -a   koorey  #新增使用者koorey到Samba使用者資料庫中

        這條命令輸入完後,會提示為新建的使用者koorey設定訪問密碼。最後再執行一下service smb restart命令就OK了。至此,Samba伺服器就架設好了。不信?為啥?因為後面還有章節,哈哈,說的沒錯。理論上說確實已經架設好了,可千萬不要忽略了Linux的安全機制的存在:iptables和selinux。其中本人就吃了selinux不少苦頭。因為只弄了iptables,卻忘記了selinux這個牛叉叉的傢伙。關於iptables本人會在後面的部落格從頭到腳,從裡到外,循序漸進的以此和大家交待它的來龍去脈。當然,如果你感興趣的話。

3、  在對待iptables的問題上:

        普通青年:直接在命令列敲…

            service  iptables stop

        文藝青年:依次在命令列敲…

            iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

            iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

            iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT

            iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT

            iptables-save

            service iptables  restart

4、  同樣,在對在selinux的問題上:(這丫的把我坑慘了呀)

        普通青年:直接在命令列敲…

            setenforce 0

            vi /etc/selinux/config

        將SELINUX=enforcing改為SELINUX=disabled為開機重啟後不再執行setenfore節約光陰。

       文藝青年:依次在命令列敲…

            setsebool -Psamba_enable_home_dirs on

            setsebool -Psamba_export_all_rw on

       完事兒之後再:getsebool  -a  | grep  samba一把,你懂得…

5、最後在Windows系統裡,訪問結果如下:

6、打完收工。

      不管你是普通青年還是文藝青年,如果你是一步一步照著做下來的,結果最後Samba還不通,請留言告訴我。