Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB是一種在局域網上共享文件和打印機的一種通訊協議,它爲局域網內的不一樣計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機經過該協議能夠訪問服務器上的共享文件系統、打印機及其餘資源。經過設置「NetBIOS over TCP/IP」使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。html
2、搭建步驟
shell
一、使用包管理器安裝Samba服務器vim
sudo apt-get install samba
二、備份samba配置文件,避免錯誤配置,便於及時回退以前的狀態windows
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
3.建立共享目錄服務器
註釋:/home/share能夠指定爲一個合法的路徑便可 sudo mkdir -p /home/share
4.修改配置文件網絡
sudo vim /etc/samba/smb.conf
五、例如此時爲全部的用戶建立一個共享目錄,此時在配置文件smb.conf最後添加以下:ide
[共享] Commnet = 「xxxxxx」 註釋:該共享目錄的描述 Path = 「/home/share」 註釋:設置共享目錄爲/home/share Avaliable = yes/no 註釋:設置共享目錄是否可顯示 Writable = yes/no 註釋:指定該目錄缺省是否可寫,也能夠用readonly = no來設置可寫 Browseable = yes/no 註釋:設置共享目錄是否可顯示
如下爲附加選項:spa
Public yes/no 註釋:指明該共享資源是否能給遊客帳號訪問 Valid users = zhaop_os 註釋:samba帳戶名,這裏是指此文件夾的合法用戶爲zhaop_os,若須要添加組,那麼能夠寫成valid users = zhaopei_os,@group Invalid users =XX 註釋:zengxs_os //指定不能使用的用戶和組 Readlist users = 註釋:/指定能讀取和寫共享文件的組 write list = user, @group 註釋: 指定能讀取和寫該共享資源的用戶和組 admin list = user, @group 註釋:指定能管理該共享資源(包括讀寫和權限賦予等)的用戶和組 ide dot files = yes|no 註釋: 指明是否像UNIX那樣隱藏以「.」號開頭的文件 create mode = 0755 註釋: 指明新創建的文件的屬性,通常是0755 directory mode = 0755 註釋:# 指明新創建的目錄的屬性,通常是0755 sync always = yes|no 註釋:# 指明對該共享資源進行寫操做後是否進行同步操做 short preserve case = yes|no 註釋:# 指明是否區分文件名大小寫 preserve case = yes|no 註釋:# 指明是否保持大小寫 case sensitive = yes|no 註釋:# 指明是否對大小寫敏感,通常選no,否則可能引發錯誤 mangle case = yes|no 註釋:# 指明混合大小寫 default case = upper|lower 註釋:# 指明缺省的文件名是所有大寫仍是小寫 force user = testuser 註釋:# 強制把創建文件的屬主是誰。若是我有一個目錄,讓guest能夠寫,那麼guest就能夠刪除,若是我用force user= testuser強制創建文件的屬主是testuser,同時限制create mask = 0755,這樣guest就不能刪除了 wide links = yes|no 註釋:# 指明是否容許共享外符號鏈接,好比共享資源裏面有個鏈接指向非共享資源裏面的文件或者目錄,若是設置wide links = no將使該鏈接不可用 max connections = 100 註釋:# 設定最大同時鏈接數 delete readonly = yes|no 註釋:# 指明可否刪除共享資源裏面已經被定義爲只讀的文件
六、建立samba用戶rest
例如爲配置文件中的users建立zhaop_os,執行如下兩個步驟:日誌
1.sudo useradd zhaop_os 2.sudo smbpasswd zhaop_os
七、重啓samba服務
1. sudo testparm 註釋:查看載入的samba配置文件的內容,檢查是否出錯 2. sudo service reload 註釋:從新載入配置文件 3. sudo service restart 註釋:重啓samba服務
Add-ons:個人samba私有文件夾具體配置過程
mkdir -p /home/pri/zhaopei_os
增長配置文件內容以下:
【zhaop_os】 Commnet = 「xxxxxx」 註釋:該共享目錄的描述 Path = 「/home/pri/zhaopei_os」 註釋:設置共享目錄爲/home/share Avaliable = yes/no 註釋:設置共享目錄是否可顯示 Writable = yes/no 註釋:指定該目錄缺省是否可寫,也能夠用readonly = no來設置可寫 Browseable = yes/no Public yes/no 註釋:指明該共享資源是否能給遊客帳號訪問 Valid users = zhaop_os 註釋:samba帳戶名,這裏是指此文件夾的合法用戶爲zhaop_os,若須要添加組,那麼能夠寫成valid users = zhaopei_os,@group
建立對應的關聯samba用戶
1.sudo useradd zhaop_os 2.sudo smbpasswd zhaop_os
常見question
解決方法:見連接http://blog.sina.com.cn/s/blog_72aace390100r042.html。
2.長時間鏈接後,出現失去鏈接的狀況;
解決方法:根據日誌分析。
3、搭建過程當中的心得
便於管理用戶帳戶和密碼能夠在/etc/samba目錄下建立一個smbusers.
當客戶端訪問smb服務器的鏈接已經打開,此時服務器重啓之後,客戶端須要重啓才能從新完成這次鏈接。
windows在地址欄中輸入//XXXXXX,最後出現訪問拒絕的狀況,在確認服務器配置無誤而且用戶名存在的狀況下,能夠修改windows的本地策略,能夠參照一下http://blog.sina.com.cn/s/blog_7291f6ad0100xedv.html。
本人搭建的過程遠遠不像本身寫文章這麼的一鼓作氣,嘗試,failed,嘗試,failed,四五個來回總算基本能使用和部署samba服務器了。人生也是如此,貴在嘗試,貴在堅持,我想若干年後看看曾經寫過的東西,回想一路的艱辛,那一刻該有多麼美好。