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


14

我在安装Ubuntu 9.10(文件服务器)及其Samba权限时遇到问题。登录并阅读正常。但是,用户创建新目录会限制其他用户的访问。例如,如果Bob(映射驱动器的Windows用户)在目录中创建了一个文件夹,Jane(简单地进行smb挂载的Mac用户)可以从中读取文件,但不能对其进行写操作,反之亦然。然后,我必须进入CHMOD 777目录,以使每个人都开心。我尝试编辑smb.conf文件中的“创建/目录掩码”和“强制”选项,但这似乎无济于事。

我将求助于CRONTABing递归chmod例程,尽管我确定这不是解决方法。如何获得所有新商品始终为777?有没有人建议解决这种情况?

最好


用户组和其他本地权限,不搭配chmod 777
华纳

Answers:


13

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

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

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


1
但是帖子说他是这样做的,但是没有用
。...– Mistiry

2
然后他做错了。有用。
华纳2010年

我不确定发生了什么。我已经尝试通过Webmin手动尝试,但没有成功。也许我的小组选择小组错了?我尝试使用“用户”以及各种手动创建的组,所有这些组均已成为成员。无论我做什么,用户都无法操纵自己未放置的任何东西。唯一的“解决方案”是让所有用户都以GUEST用户身份登录(或挂载),这会造成混乱。
humble_coder

SAMBA在配置中结合使用了文件系统权限和设置。如果用户不在write list共享配置中,或者该用户不允许以共享配置进行写入,则它将无法正常工作。如果运行SAMBA的用户无法访问目录,则它将无法工作。用户应是适当组的成员,目录和文件应归该组所有,并为该组设置可写位。您也可以检查SAMBA日志。
华纳2010年

2
我已经为此寻找了很长时间!谢谢!:)它按预期工作。
NagyI,2012年

2

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

chmod 2777 /shared/dir

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

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

chmod -R 777 /shared/dir

关于公开可接受的唯一情况是/tmp
华纳2010年

1
是的,视情况而定,最好使用774甚至770。但是,他问如何将它们全部设置为“ 777”,因此我在示例中仅使用了该名称。
Mistiry'7

3
是的,但是如何确保将来通过网络复制到该目录的所有文件都获得相同的权限,而不管它们的初始权限如何?手动执行此操作没有问题,我只是希望将其自动化。
humble_coder

2
这是行不通的。文件夹的setgid标志设置新文件和文件夹的组,而不是权限,并且始终运行chmod是不可接受的。对于Linux上的Steam,我需要一个与samba不相关的解决方案,以便可以在用户之间共享库。
山姆·沃特金斯

2

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

[分享]
防毒面具= 0770
创建遮罩= 0770
强制创建模式= 0660
评论= Samba为IT共享
路径= / raid / share
可浏览=是
来宾还可以=否
写入列表=根,@“ DOMAIN + it_nfs”
力组= DOMAIN + it_nfs

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


0

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

在NTFS / FAT分区上共享。

将台式机磁盘插入NAS共享家庭相册时,请记住这一点:fs 为用户,组,创建模式等挂载参数覆盖为Samba配置的内容!;)

(例如,就我而言,无论smb.conf是由root,还是777- 所创建的,都与defaultsNTFS保险丝座的fstab一样...)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.