Samba:創建遮罩 777 和創建模式 666 不起作用
從 Windows 創建文件時出現問題。
smbd 版本 4.1.6-Ubuntu
將同一文件從同一台 PC 複製到共享內的同一文件夾中。
從共享定義:
share-secret.conf: 強制創建模式 = 0722
share-secret.conf:# 創建遮罩 = 0666
share-secret.conf:# 目錄遮罩 = 0666
結果:-rwxr - r–
share-secret.conf:# 強制創建模式 = 0722
共享-secret.conf: 創建遮罩 = 0666
share-secret.conf:# 目錄遮罩 = 0666
結果:-rwxr - r–
share-secret.conf:# 強制創建模式 = 0722
share-secret.conf:# 創建遮罩 = 0666
share-secret.conf: 目錄遮罩 = 0666
結果:-rwxr - r–
因此,單個參數不起作用:組將具有 r/o 訪問權限。嘗試使用兩個參數
CM = 0666,DM = 0666:-rwxr-xr–
CM = 0666,DM = 0:-rwxr-xr–
CM = 0,DM = 0666:-rwxr-xr–
CM = 0,DM = 0:-rwxr-xr–
CM=7,DM=預設值:-rwxr-x—
CM=70,DM=預設值:-rwxr-x—
FCM=666,其他=預設值:-rw-r–r–
等等等等…所以,正如我所見,沒有辦法為組啟用寫訪問權限?
解決方案很簡單:關閉“遵守 pam 限制”。就這樣!
嗯。我有興趣查看相關的 PAM 部分。
我遇到了類似的問題,儘管有“繼承權限”、創建遮罩和強制創建模式選項,但我無法創建具有組(或世界)可寫權限的文件。問題出現在客戶端,它們是 OSX 盒子。OSX 使用的 umask 值為 0022。
改變這一點非常困難。
解決方案原來是放入
umask 0002
,/etc/launchd-user.conf
然後重新啟動,因此 launchd 將重新讀取其啟動腳本。Apple 在https://support.apple.com/en-us/HT201684的文件指出這是針對 10.9 及更低版本的,但我認為它只適用於 10.4.10 版本,此時您必須使用defaults write -g NSUmask 2
哪個好對於 10.4 和 10.3 的大部分。此外,NSUmask 是通常八進制程式碼的捲積 base-10 表示。(警告警告)
/etc/profile
終端是它自己的環境,所以它的 umask 必須在or中單獨設置~/.profile
。無論如何,
obey pam restrictions
在這個問題上對我沒有影響。設置是 FreeBSD 10.3 、 samba 4.3.11 和各種 OSX 版本。