Samba 权限——我要扔掉它!

Samba 权限——我要扔掉它!

我正在尝试在我的 Ubuntu 8.04 LTS 机器上设置一个 samba 共享,供我的 mac 和 windows 客户端使用。

我创建了一个“samba”组并将我的 Linux 用户添加到其中,给了他们 samba 密码,我可以连接和放置文件,除了权限之外,一切都很顺利。

顺便说一句,默认家庭共享已被完全删除,以确保它不会发生冲突。

[档案]
路径 = /home/archive
只读 = 否
客人同意 = 可以
可浏览 = 是
创建模式 = 0664
目录模式 = 0775
强制组 = samba

目标是让访客可读,让 samba 用户完全控制。当非访客用户将文件放入存档共享时,它具有正确的“samba”组,但权限为 644,而不是预期的 664。

我尝试将创建模式和目录模式更改为创建掩码和目录掩码,以及前面带有强制词的每个组合。

我不知道为什么这不起作用,任何帮助都将不胜感激。

发布我的整个 smb.conf:

[全球的]
 工作组 = 示例
 服务器字符串 = %h
 映射到访客 = 坏用户
 遵守 pam 限制 = 是
 passdb 后端 = tdbsam
 pam 密码更改 = 是
 passwd 程序 = /usr/bin/passwd %u
 passwd chat = *输入新的*密码:*%n\n *重新输入新的*密码:*%n\n *密码已成功更新* .
 unix 密码同步 = 是
 系统日志 = 0
 日志文件 = /var/log/samba/log.%m
 最大日志大小 = 1000
 dns 代理 = 否
 用户共享允许客人 = 是
 恐慌行动 = /usr/share/samba/panic-action %d
 无效用户 = root
 强制创建模式 = 0664
 强制目录模式 = 0775

[打印机]
 评论 = 所有打印机
 路径 = /var/spool/samba
 创建掩码 = 0700
 可打印 = 是
 可浏览 = 否

[打印$]
 评论 = 打印机驱动程序
 路径 = /var/lib/samba/printers

[档案]
 路径 = /home/archive
 强制组 = samba
 只读 = 否
 创建掩码 = 0664
 目录掩码 = 0775

[服务器备份]
 路径 = /home/server_backups
 强制用户=root
 强制组 = samba
 只读 = 否
 创建掩码 = 0664
 目录掩码 = 0775

谢谢,

答案1

这可能会有所帮助。我做了类似的事情,但只有一个共享对组用户开放。除了单个维护者用户外,其他共享都是只读的。[全球的]我的部分smb配置文件几乎和你的一样,只是我不使用强制创建/目录模式指令(就我而言,它们会干扰其他共享)。

以下是共享定义:

[shared stuff]
        comment = blah, blah, etc
        path = /path/to/share
        write list = @sambagroup
        force group = +sambagroup
        read only = yes
        directory mask = 0775
        create mask = 0664
        guest ok = yes
        invalid users = root
        case sensitive = True
        default case = lower
        preserve case = yes
        short preserve case = yes

这里最重要的内容如下:

  • read only = yes——默认情况下,只读。
  • guest ok = yes——客人可以浏览。
  • write list = @sambagroup-- 经过验证的成员桑巴集团可以寫。
  • force group = +sambagroup-- + 表示强制仅适用于 sambagroup 的现有成员。他们已经是唯一可以写的人了。我认为,如果没有 +,客人给出桑巴集团凭证,这是不需要的(特别是写清单指令)。
  • directory mask = 0775
  • create mask = 0664

这些正是你想要你做的:“drwxrwxr-x”在目录上,“rwxrwxr-x”在文件上,新创建的文件归用户所有,并且桑巴集团. 其他共享的维护者在工作时获得与其他人相同的权限共享内容,并且当它们在其他共享中工作时,权限和组都正常。

我的smb配置文件一直在通过几个不同版本的 Samba 进行微调,目前使用的是 Samba 3.2.5。我从未在 Ubuntu 8.04 上运行过它,但它在迁移到最近的 Debian Lenny 安装之前在 Ubuntu 7.04 上运行了很长时间。

答案2

我现在还没有找到活动的 Samba 配置,因此无法检查它是否默认安装在 Ubuntu 安装中。也就是说,查看一下 smb.conf,看看是否有“create mask”语句。您可能会发现它设置为 022,您需要清空组位(设置为 002 或删除整行)。

还要注意,“创建模式”与“创建蒙版”是同义词。

相关内容