配置samba服務器

公司須要一臺用於共享的文件服務器,考慮使用Linux系統,據說會比windows的文件系統好管理,瞭解很少,人云亦云了!html

 

這裏須要用到samba系統,安裝比較簡單,安裝後須要進行配置才能訪問。linux

 

修改smb.conf 配置文件(參數的配置說明最好直接看默認文件中的註釋說明):數據庫

 samba自帶的smb.conf文件註釋不少,例子給的也很多,容易讓人以爲這個文件很複雜,其實它的框架很簡單,主要包括下面幾個小節:windows

 

複製代碼
[global]  

[homes]

[printers]

[自定義]
複製代碼
[global] 是全局的配置選項

 

[homes] 是登錄用戶的目錄安全

[printers] 是共享打印機相關信息服務器

[自定義] 是在windows中看到的共享目錄,能夠有多個。框架

 

一.[global] 經常使用配置選項dom

1.security 用戶訪問Samba Server的驗證方式,一共有四種驗證方式。工具

security = share|user|server|domain
複製代碼
share:用戶訪問Samba Server不須要提供用戶名和口令, 安全性能較低。

user:Samba Server共享目錄只能被受權的用戶訪問,由Samba Server負責檢查帳號和密碼的正確性。帳號和密碼要在本Samba Server中創建。 

server:依靠其餘Windows NT/2000或Samba Server來驗證用戶的帳號和密碼,是一種代理驗證。此種安全模式下,系統管理員能夠把全部的Windows用戶和口令集中到一個NT系統上,使用Windows NT進行Samba認證, 遠程服務器能夠自動認證所有用戶和口令,若是認證失敗,Samba將使用用戶級安全模式做爲替代的方式。 

domain:域安全級別,使用主域控制器(PDC)來完成認證。
複製代碼


一個簡單的share模式共享配置: http://www.cnblogs.com/champaign/p/5916062.htmlpost

 

2.  passdb backend
passdb backend就是用戶後臺的意思。目前有三種後臺:smbpasswd、tdbsam和ldapsam(我理解是要在  security=user 模式下使用 )
 
複製代碼
1.smbpasswd:該方式是使用smb本身的工具smbpasswd來給系統用戶(真實
用戶或者虛擬用戶)設置一個Samba密碼,客戶端就用這個密碼來訪問Samba的資源。smbpasswd文件默認在/var/lib/samba/private/smbpasswd(版本3.6.23)目錄下.
smbpasswd -a 用戶名 #添加一個samba用戶
smbpasswd -d 用戶名 #禁用一個samba用戶
smbpasswd -e 用戶名 #恢復一個samba用戶
smbpasswd -x 用戶名 #刪除一個samba用戶 2.tdbsam:該方式則是使用一個數據庫文件來創建用戶數據庫。數據庫文件叫passdb.tdb,默認在
/var/lib/samba/private/passdb.tdb(版本3.6.23)目錄下。
passdb.tdb用戶數據庫可使用smbpasswd –a來創建Samba用戶,不過要創建的Samba用戶必須先是系統用戶。咱們也可使用pdbedit命令來創建Samba帳戶。pdbedit命令的參數不少,咱們列出幾個主要的。
pdbedit –a username:新建Samba帳戶。
pdbedit –x username:刪除Samba帳戶。
pdbedit –L:列出Samba用戶列表,讀取passdb.tdb數據庫文件。
pdbedit –Lv:列出Samba用戶列表的詳細信息。
pdbedit –c 「[D]」 –u username:暫停該Samba用戶的帳號。
pdbedit –c 「[]」 –u username:恢復該Samba用戶的帳號。
3.ldapsam:該方式則是基於LDAP的帳戶管理方式來驗證用戶。首先要創建LDAP服務,而後設置「passdb backend = ldapsam:ldap://LDAP Server」
複製代碼

 

  • username map

username map = /etc/samba/smbusers

 

 

二.[自定義] 經常使用配置選項

 一個簡單的示例(實際工做中要求有寫入權限):

複製代碼
 [attchement]

 comment =attchement

 path = /data/attchement

writable = yes
複製代碼

 

 

三.[無寫權限]的處理辦法

解決了很久的寫入問題,試過不少方法無效。

在網上找到以下方法解決:

setenforce 0

 vi /etc/selinux/config

將SELINUX=enforcing改成SELINUX=disabled爲開機重啓後再也不執行setenfore節約光陰。

 

四.設置Samba服務建立目錄和文件的默認權限

經過Samba服務器實現windows和Linux之間的文件共享,相信是絕大多數人的選擇。

一般咱們都會使用Samba的缺省配置,這樣,每次經過Samba從Windows向Linux中拷貝文件時,文件都會被加上」可執行」的屬性。

這是很讓人頭疼的問題,每次都要經過chmod去修改文件的權限非常麻煩。

只要把下面的配置加入/etc/samba/smb.conf就能夠解決這個問題:

 

create mode = 0644  
force create mode = 0644  
directory mode = 0755  
force directory mode = 0755   

 

下面簡單介紹一下這幾個參數的含義:

  • create mode – 這個配置定義新建立文件的屬性。Samba在新建文件時,會把dos文件的權限映射成對應的unix權限,在映射後所得的權限,會與這個參數所定義的值進行與操做。而後再和下面的force create mode進行或操做,這樣就獲得最終linux下的文件權限。
  • force create mode – 見上面的描述。至關於此參數所設置的權限位必定會出如今文件屬性中。
  • directory mode – 這個配置與create mode參數相似,只是它是應用在新建立的目錄上。Samba在新建目錄時,會把dos–>linux映射後的文件屬性,與此參數所定義的值相與,再和force directory mode相或,而後按這個值去設置目錄屬性。
  • force directory mode – 見上面的描述。至關於此參數中所設置的權限位必定會出如今目錄的屬性中。

說明一點,上面的create mode和create mask參數是同義詞,用哪一個均可以;而directory mode和directory mask參數是相同的。

當你發現Samba中新建的目錄/文件權限不正確,例如沒法訪問某個目錄、沒法更改文件,就須要檢查上面幾個值的設置。

另外須要說明的是,上面幾個配置項,會和security mask、force security mode、directory security mask、force directory security mode這幾個配置項相互做用。這幾個帶」security」的配置項會影響Windows NT/2000的ACL功能,通常咱們不須要設置。

參考:http://blog.csdn.net/hustfoxy/article/details/9028027

出處:https://www.cnblogs.com/champaign/p/5915987.html

相關文章
相關標籤/搜索