尝试限制在 Linux 文件系统中创建的目录中的文件夹。我已将权限更改为:root rwx、特殊活动目录组 rwx 和所有其他 r。这样做后,不在特殊 AD 组中的人员可以访问目录并修改文件。这样做后,当用户修改目录中的文档时,组将更改为“域用户”。我必须手动将文档默认组更改回我的 AD 组。我尝试创建另一个 AD 组并修改权限以拒绝写访问。当通过 Windows 资源管理器执行此操作时,设置似乎会生效,直到我返回查看受限组的权限。第二次查看时没有显示任何权限。请帮忙。
Samba 共享属性
[MyShare]
comment = "blah blah blah"
browseable = yes
guest ok = no
read only = no
path = /xxx/xxxxx/
create mask = 0640
directory mask = 0750
admin users = @"domain\Domain Admins", @"domain\group A", @"domain\group B"
valid users = @"domain\Domain Admins", @"domain\group A", @"domain\group B"
nt acl support = Yes
inherit acls = yes
inherit owner = yes
inherit permissions = yes
答案1
我很久以前就遇到过类似的问题。对我来说,解决方案在于 Linux 文件系统权限本身。我必须使用更改权限chmod 2770 ./foo
才能使用户和组权限正常工作。请参阅ls
下面的(已编辑):
[root@server1 home]# ls -lAF
total 92
drwxrws---. 2 al al 4096 2009-05-27 00:25 al/
drwxrws--- 6 root shares 4096 2010-06-11 16:19 images/
drwxrws---. 61 jesse jesse 4096 2010-06-13 16:21 jesse/
drwxrws---. 28 mary mary 4096 2009-08-26 15:52 mary/
drwxrws---. 14 root work 4096 2010-05-24 08:16 work/
drwxrws---. 12 root shares 4096 2010-06-18 14:15 share/
[root@server1 home]#
我没有使用任何admin users =
条目。我只是依靠 Linux 本身内置的用户和组结构。当然,您使用的是 AD,但应该适用类似的概念。作为参考,以下是我的相关部分smb.conf
(再次编辑):
[global]
server string = Samba Server
security = share
unix password sync = Yes
create mask = 0660
directory mask = 0770
[jesse]
path = /home/jesse
valid users = jesse
read only = No
[share]
path = /home/share
valid users = al, jesse, mary
read only = No
[work]
path = /home/work
valid users = al, jesse
read only = No
我希望这有帮助!
答案2
在您的 samba 共享声明中,使用强制组指令来确保以该组所有权创建新文件。
force group = @"domain\special_AD_Group"
答案3
这可能无法回答您的问题,但是当您实际使用 winbind 和 pam 将您的主机加入到 Windows 域时,使用 setfacl 和 getfacl 控制权限变得更加容易,它们类似于 Windows 中的 cacls/xcacls 命令。