關於samba在linux下的使用方法(windows與linux代碼同步的方法)


關於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系統里,訪問結果如下:

        

 

 

 

1. Samba軟件包的安裝

使用源安裝,在終端中輸入如下命令:

#sudo apt-get install samba
#sudo apt-get install smbclient


2. Samba服務器的啟動、關閉和重啟

啟動Samba服務器只需執行如下命令:
#sudo /etc/init.d/samba start

關閉Samba服務器:
#sudo /etc/init.d/samba stop

重新啟動Samba服務器:
#sudo /etc/init.d/samba restart



啟動Samba服務器后,可以使用ps命令查看進程:
#ps -aux


可以看到Samba服務會同時啟動兩個服務,其中smbd主要用來管理共享出來的目錄,nmbd主要用來解析NetBIOS名。在Windows系統中, 主機可以被加入一個組中,這樣每個主機都必須有一個名字,這個名字是用於在網上被標志的名,並非機器的主機名,將其稱為NetBIOS名。其中nmbd進 程是隨着smbd進程啟動而啟動。

3. 配置Samba服務

Samba服務器主要配置文件為/etc/samba/smb.conf,並且可以將NetBIOS名與主機的對應關系寫在/etc/samba /lmhosts文件中。

(1)在Windows系統中不用輸入密碼訪問Linux共享目錄
在Linux共享一個目錄,將建立好的目錄的設置信息寫入/etc/smb.conf文件即可。如:若共享/home/myth/share目錄,要在 Windows系統中訪問這個共享的目錄,假設Windows主機的IP為192.168.0.11,Linux主機的IP為192.168.10,進行 如下操作:
#mkdir /home/myth/share
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak       //修改配置文件之前最好做個備份
#vim /etc/samba/smb.conf   
或者使用 sudo gedit /etc/samba/smb.conf 打開配置文件
將文件中的內容做如下相應修改:
#security=user 后面添加:
security=share
在文件結尾添加如下行:
[share]
comment=this is Linux share directory
path=/home/myth/share
public=yes
writable=yes

保存退出,啟動Samba服務:
#/etc/init.d/samba start

設置完成!

在Windows 下訪問共享目錄,可點擊運行,輸入
\\192.168.0.10\share

這樣就能以匿名用戶訪問共享目錄share了。

關於Windows下無寫權限:chmod -R go+rwx share/

 

 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM