从 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 版本。