LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1326|回复: 10

有关samba权限继承的困惑

[复制链接]
发表于 2006-4-22 16:42:08 | 显示全部楼层 |阅读模式
举个例子:
[a]
        comment = a
        path = /tmp/a
        create mask = 0755
        directory mask = 0777


        comment = b
        path = /tmp/a/b
        create mask = 0744
        directory mask = 0755
我在//ip/a/b路径下建立的文件mask是0755而不是0744。

指教~~~:%
发表于 2006-4-22 22:31:36 | 显示全部楼层
如果  /ip/a/b  方式是744,那么  //ip/b  的方式又该是什么呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-23 09:15:56 | 显示全部楼层
Post by d.sokwith
如果  /ip/a/b  方式是744,那么  //ip/b  的方式又该是什么呢?

sorry,忘了在b下面加 browseable = No
我只是想问一下这样做合理/可行吗?权限为什么继承了上级目录里设定的权限?
回复 支持 反对

使用道具 举报

发表于 2006-4-23 21:10:55 | 显示全部楼层
如果不从上级继承,你认为该从哪儿继承好呢?
//ip/a/b与//ip/b在客户端可是两个完全不同的目录哟。
回复 支持 反对

使用道具 举报

发表于 2006-4-23 21:11:19 | 显示全部楼层
如果不从上级继承,你认为该从哪儿继承好呢?
//ip/a/b与//ip/b在客户端可是两个完全不同的目录哟。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-24 09:09:51 | 显示全部楼层
那,如果我想把同一类型的文件夹放到一个总文件夹里共享,但是每个子文件夹要设置的权限都不同。
我该怎么做呢?我现在都是用linux的group来完成的,samba里怎么做呢?因为这些子目录都继承了上级总目录的权限~~
回复 支持 反对

使用道具 举报

发表于 2006-4-24 11:40:07 | 显示全部楼层
你在孤立的看待samba服务。
文件系统权限本身就是samba的顶级权限,既然能够使用它实现就没必要再考虑下一级的权限控制;
你也知道子目录必须继承它的父目录才能往下展开的,所以//ip/a/b与//ip/b对客户端而言是两个完全不同的目录;
所以你真要在samba配置文件中实现,那就不要共享出//ip/a,将子目录都开放出来,相信你也不会采用这种方式。
其实,如你现在所作的那样,只需要在文件系统中对子目进行权限设置就可以了。一个普通文件是755与744没有太大的区别。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-25 08:31:20 | 显示全部楼层
Post by d.sokwith
你在孤立的看待samba服务。
文件系统权限本身就是samba的顶级权限,既然能够使用它实现就没必要再考虑下一级的权限控制;
你也知道子目录必须继承它的父目录才能往下展开的,所以//ip/a/b与//ip/b对客户端而言是两个完全不同的目录;
所以你真要在samba配置文件中实现,那就不要共享出//ip/a,将子目录都开放出来,相信你也不会采用这种方式。
其实,如你现在所作的那样,只需要在文件系统中对子目进行权限设置就可以了。一个普通文件是755与744没有太大的区别。


你前面说的我都同意,虽然group的的设置比较麻烦。
但是最后create mask = 0744跟create mask = 0755我是真的需要区分开的,有没有其他办法?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-25 16:25:49 | 显示全部楼层
inherit permissions有用吗?

inherit permissions (S)
    The permissions on new files and directories are normally governed by create mask, directory mask, force create mode and force directory mode but the boolean inherit permissions parameter overrides this.

    New directories inherit the mode of the parent directory, including bits such as setgid.

    New files inherit their read/write bits from the parent directory. Their execute bits continue to be determined by map archive , map hidden and map system as usual.

    Note that the setuid bit is never set via inheritance (the code explicitly prohibits this).

    This can be particularly useful on large systems with many users, perhaps several thousand, to allow a single [homes] share to be used flexibly by each user.

    see create mask , directory mask, force create mode and force directory mode .
回复 支持 反对

使用道具 举报

发表于 2006-4-25 17:02:14 | 显示全部楼层
如果你不建立新的共享,只想一个共享目录下多种不同的权限,只能依靠文件系统本身。
因为,你知道的,1、继承的原因 和 2、客户端没有可能知道服务器端的目录结构的。
force参数同样会被继承的。
其实设置force参数和使用系统SGID/SUID特性差不多。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表