1、今天發現用samba挂載開發過程中,發現别人的權限和我的經常不一緻,導緻送出git的時候都被送出了,心想應該有哪裡有一個統一設定的可以設定使用者的預設權限,後來百度之後找到下面的文章,以後建立檔案和複制檔案都可以是自己設定的預設權限了,感覺不錯
通過Samba伺服器實作windows和Linux之間的檔案共享,相信是絕大多數人的選擇。通常我們都會使用Samba的預設配置,這樣,每次通過Samba從Windows向Linux中拷貝檔案時,檔案都會被加上”可執行”的屬性。這是很讓人頭疼的問題,每次都要通過chmod去修改檔案的權限很是麻煩。
今天仔細看了一下Samba的手冊,發現隻要把下面的配置加入/etc/samba/smb.conf就可以解決這個問題:
[cpp] view plaincopy
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相或,然後按這個值去設定目錄屬性。
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功能,一般我們不需要設定。