从Windows创build文件时出错。
smbd版本4.1.6-Ubuntu
将同一台PC上的相同文件复制到共享内的同一个文件夹中。
从分享定义:
shares-secret.conf: force create mode = 0722
shares-secret.conf:#create mask = 0666
shares-secret.conf:#directory mask = 0666
结果:-rwxr – r–
shares-secret.conf:#force create mode = 0722
shares-secret.conf: create mask = 0666
shares-secret.conf:#directory mask = 0666
结果:-rwxr – r–
shares-secret.conf:#force create mode = 0722
shares-secret.conf:#create mask = 0666
shares-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–
等等等等…所以,正如我所看到的,没有办法为组写入权限?
解决方法很简单:closures“遵守pam限制”。 就这样!
姆。 我有兴趣看到相关的PAM部分。
我有一个类似的问题,尽pipe有“inheritance权限”,创build掩码,并强制创build模式选项,我无法创build具有组(或全球)可写权限的文件。 问题发生在客户端,这是OSX盒子。 OSX使用的是0022的umask值。
改变这是非常困难的。
解决scheme竟然把umask 0002
放在/etc/launchd-user.conf
,然后重启,所以launchd会重新读取它的启动脚本。 苹果公司的文档https://support.apple.com/en-us/HT201684指出这个版本的版本是10.9或者更低,但是我认为它只能运行在10.4.10版本,这时你必须使用defaults write -g NSUmask 2
,适用于10.4和10.3的大部分。 另外,NSUmask是一个十分复杂的十进制代码的十进制表示。 (警告警告)
terminal是它自己的环境,所以它的umask必须分别在/etc/profile
或~/.profile
。
无论如何, obey pam restrictions
对我来说在这个问题上没有任何影响。 设置是FreeBSD 10.3,samba 4.3.11和各种OSX版本。