简洁版本:
我在 Samba 共享上遇到了这种情况:
$ ls -lha 共 12K drwxr-xr-x 3 hka 域名用户 4.0K 1 月 11 日 17:07 。 drwxrwxrwt 19 root root 4.0K 1 月 11 日 17:06 .. drwxr-xr-x 2 hka 域用户 4.0K 1月11日 17:07 dir A -rw-r--r-- 1 hka 域用户 0 1月11日 17:07 文件A
我如何才能将其更改为仅使用 Windows SMB/CIFS 客户端(使用第三方应用程序也可以)
$ ls -lha 共 12K drwxr-xr-x 3 hka 域名用户 4.0K 1 月 11 日 17:07 。 drwxrwxrwt 19 root root 4.0K 1 月 11 日 17:06 .. drwxr-xr-x 2 hka ntpoweruser 4.0K 1月11日 17:07 dir A -rw-r--r-- 1 hka ntpoweruser 0 1月11日 17:07 文件A
理由和背景信息
我在 Samba 共享上使用 POSIX ACL。结合acl group control
使用 Samba,它允许我根据组成员身份将权限管理委托给不同的用户。
问题是,当我在 Samba 共享上创建新文件时,我无法设置其主要组(授予更改其权限的组)。它被设置为我的主要组(域用户)或使用共享定义force group
中的选项设置的组smb.conf
。
删除 Windows 中除我想要成为新主要组的组之外的所有组都不起作用。我可以通过chgrp group folder/
shell 以普通用户身份更改它,但这不是最佳选择(并非所有用户都是 *nix 用户)。
尝试从 Windows 文件权限窗口将新所有者设置为组会导致 Samba 返回权限被拒绝,并出现以下日志条目:
[2012/01/05 21:13:03.349734,3] smbd/nttrans.c:1899(call_nt_transact_set_security_desc) call_nt_transact_set_security_desc:文件 = 项目/项目 A/新文件夹,发送 0x1 [2012/01/05 21:13:03.349774,3] smbd/posix_acls.c:1208(unpack_nt_owners) unpack_nt_owners:无法验证 S-1-5-21-4526631811-884521863-452487935-11025 的所有者 sid [2012/01/05 21:13:03.349804,3] smbd/error.c:80(error_packet_set) smbd/nttrans.c(1909) cmd=160 (SMBnttrans) 处的错误数据包 NT_STATUS_INVALID_OWNER
SID 正确且属于 GUI 中指定的组 I。