我正在尝试在我的 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 或删除整行)。
还要注意,“创建模式”与“创建蒙版”是同义词。