如何强制对 Linux 文件服务器上的新文件/文件夹设置特定权限?

如何强制对 Linux 文件服务器上的新文件/文件夹设置特定权限?

我在安装 Ubuntu 9.10(文件服务器)及其 Samba 权限时遇到了问题。登录和读取工作正常。但是,用户创建新目录会限制其他用户的访问。例如,如果 Bob(映射驱动器的 Windows 用户)在目录中创建了一个文件夹,Jane(仅通过 SMB 挂载的 Mac 用户)可以读取该文件夹,但不能写入 - 反之亦然。然后我必须对目录进行 CHMOD 777 才能让每个人都满意。我尝试编辑 smb.conf 文件中的“创建/目录掩码”和“强制”选项,但这似乎没有帮助。

我打算使用 CRONTAB 来执行递归 chmod 例程,尽管我确信这不是解决办法。如何让所有新项目始终为 777?有人有什么建议可以解决这种经常发生的情况吗?

最好的

答案1

我通常使用 SAMBA 的本机功能来管理共享上的权限和组。例如..

force user=user1
force group=sharedgroup
create mask=775

您将在共享下指定这些设置。配置更改后务必重新加载 SAMBA,这可以通过 init 脚本完成。

答案2

将目录的权限设置为 2777,如下所示:

chmod 2777 /shared/dir

这会导致 '/shared/dir' 目录下的所有文件和文件夹继承顶级目录的权限,在本例中为 777。

然后,执行以下操作以确保所有文件都具有适当的权限:

chmod -R 777 /shared/dir

答案3

我意识到这是一个老问题,但我最近遇到了类似的问题,下面是我解决问题的方法:

[分享]
安全掩码 = 0770
创建掩码 = 0770
强制创建模式 = 0660
评论 = Samba 共享给 IT
路径 = /raid/share
可浏览 = 是
客人同意 = 不同意
写入列表 = root, @"DOMAIN+it_nfs"
强制组 = DOMAIN+it_nfs

这确保用户必须属于 AD 中的“it_nfs”安全组,所有文件都将以组“it_nfs”写入,并且所有文件都将以至少 0660 和最多 0770 的权限写入。强制组 ID 可确保该组中的任何人都可以读取/写入共享上的文件。否则,您最终会遇到这样的情况:即使 charlie:charlie 和 bob:bob 都在“it_nfs”中,也无法写入写入为 bob:bob 的文件。

答案4

从已接受答案的评论来看,它实际上并没有解决 OP 的问题,其他答案也没有解决 OP 的问题,如果 OP 碰巧遇到与我相同的问题:

在 NTFS/FAT 分区上拥有共享。

将桌面磁盘插入 NAS 以共享家庭相册时请记住这一点:fs安装参数适用于用户、群组、创建模式等。覆盖无论为 Samba 配置了什么!;)

(例如,在我的情况下,无论smb.conf一切都是由什么创建的root,都使用– 按照NTFS 保险丝挂载的777fstab ……)defaults

相关内容