免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7155 | 回复: 14
打印 上一主题 下一主题

[samba] 一个比较复杂的samba权限问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-13 18:29 |只看该作者 |倒序浏览
20可用积分
目前有用户a b c d e f g h i j k, 有目录a b c d e f g h i j k
现在要求 a 用户可以读写 a b c d e f g h i j k 文件夹
         b 用户可以读写 b c d e f g h i j k   文件夹
         c 用户可以读写 c d
         d e f g h i j k 用户只能读写自己的文件夹

用了setfacl 但是也没弄太明白

论坛徽章:
0
2 [报告]
发表于 2009-02-14 08:12 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2009-02-14 12:33 |只看该作者
原帖由 lovegqin 于 2009-2-14 08:12 发表
好好想想,再看看文档,不难的。
要善于思考



看了 弄不明白 用setfacl限制 结果大家都能访问了  权限太多不知道怎么用别的东西限制了 ...

论坛徽章:
0
4 [报告]
发表于 2009-02-16 00:45 |只看该作者


[ 本帖最后由 byebyebyebye 于 2009-2-20 18:07 编辑 ]

论坛徽章:
2
摩羯座
日期:2015-01-10 16:35:05摩羯座
日期:2015-01-25 22:10:41
5 [报告]
发表于 2009-02-27 11:58 |只看该作者
刚看了一篇文章是说你可以给每个用户设置一个smb的配置文件来实现, 这样的话就方便多了, 那篇文章就在本版面。

论坛徽章:
0
6 [报告]
发表于 2009-02-28 22:00 |只看该作者
为每个目录指定允许访问的用户列表,使用valid users选项就可以了。
例如上面的例子:

[global]
  sevurity = user

[a]
    writeable = yes
    valid users  = a
[[\b]
    writeable = yes
    valid users  = a , b
[c]
    writeable = yes
    valid users  = a , b ,c
[d]
    writeable = yes
    valid users  = a , b ,c , d

[e]
    writeable = yes
    valid users  = a , b , e
[f]
    writeable = yes
    valid users  = a , b , f
[g]
    writeable = yes
    valid users  = a , b , g
[h]
    writeable = yes
    valid users  = a , b , h

下面的省略

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
7 [报告]
发表于 2009-03-01 22:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
6
丑牛
日期:2013-09-17 00:18:40未羊
日期:2013-10-31 12:10:47午马
日期:2013-12-07 01:58:50水瓶座
日期:2013-12-24 22:43:12水瓶座
日期:2014-03-15 21:12:13操作系统版块每日发帖之星
日期:2016-08-07 06:20:00
8 [报告]
发表于 2009-03-01 22:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
9 [报告]
发表于 2009-03-18 14:08 |只看该作者
原帖由 byebyebyebye 于 2009-2-13 18:29 发表
目前有用户a b c d e f g h i j k, 有目录a b c d e f g h i j k
现在要求 a 用户可以读写 a b c d e f g h i j k 文件夹
         b 用户可以读写 b c d e f g h i j k   文件夹
         c 用户可以读写 c ...

如果您有幸看到我的回帖,说明你很幸运,但不要忘了给我分啊。呵呵
前几天刚刚做了一个samba,和您的要求差不多,现在对于你的问题,说明如下,同时自己也加深记忆,毕竟知道怎么做是一回事,写出来是一回事,教会别人又是另外一回事了,呵呵
按照您的要求,我觉得用acl能够满足您的要求
步骤:
1.首先安装acl,不知道您的是什么系统,我就按照Fedora10这个发行版来说明吧。
  1. [root@server ~]# rpm -qa acl
  2. acl-2.2.47-3.fc10.i386
复制代码

如果以上没有,则
  1. yum install acl
复制代码

fedora默认安装是支持acl,如果您是其它的系统,可以编译安装,如果是ubuntu或者debian等,使用
  1. apt-get install acl
复制代码
应该也是可以。
安装完acl后,需要启用acl,好像acl是只能对分区起作用,不是对单个文件夹起作用,(我不知道这样描述是否正确,不正确请指正,谢谢),所以把acl加入到samba挂接点,所以最好单独给samba共享文件一个单独的分区,我的samba分区在/data目录下,这样设置acl不会对其它分区产生影响。
编辑/etc/fstab,添加如下
  1. UUID=07666eb0-2e21-407b-a604-fc67f0634dfb /data                   ext3    [color=Red]acl[/color]      1 2
复制代码

这样就对分区/data启用了acl
2.添加用户和组。
建立用户和组,按照lz的要求,每个用户建立一个组
  1. #useradd a
  2. #useradd b
  3. .
  4. .
  5. .
复制代码

以上为添加用户
  1. #usermod a -G b c d e f g h i j k
  2. #usermod b -G c d e f g h i j k
  3. #usermod c -G d e f g h i j k
  4. .
  5. .
  6. .
复制代码

以上为
把用户a添加到b c d e f g h i j k组里面
把用户b添加到c d e f g h i j k 组里面,等等。

3.配置acl列表
在/data目录下建立a b c d e f g h i j k文件夹,配置用户权限
对a目录
  1. setfacl -d -m u:a:wrx /data/a     配置用户a对/data/a/有所有权限
  2. setfacl -d -m g:a:wrx /data/a     配置组a对/data/a/有所有权限
  3. setfacl -d -m o::- /data/a           配置其它对/data/a/没有权限
复制代码


同理,按照上面的setfacl分别对b c d e f g h i j k目录分别设定

这样acl就配置好了

4.samba的smb.conf的配置
这个就不用说了,按照上面的配置,lz应该就能满足您的要求了。

可能有没有想到的地方,欢迎指正,谢谢。

[ 本帖最后由 locale 于 2009-3-18 14:14 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-03-27 16:47 |只看该作者
openbsd里没有ACL怎么办?要装linux才能实现吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP