LinuxSir.cn,穿越时空的Linuxsir!

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

Samba权限继承的问题

[复制链接]
发表于 2011-10-15 18:14:59 | 显示全部楼层 |阅读模式
问题:
      大家好,我现在有一个这样的问题:就是samba权限继承的问题.我先描述一下:
      首先/ip/a/b/c中,我把c文件夹的权限设置为:user1:userga( 注:组号为:588 ),
但是user1默认的组为userg(注:此组号为:587 )( 我在/etc/passwd里把用户user1的组号更改为587 ),
在/ip/a/b/d中,我把d的权限设置为user1:userg(也就是user1的默认组),我现在要在/ip/a/b/c里用user1新建文件夹或文件,
而且要让属于userga组里的用户user2可以查看和执行(注:user2不属于userg组),
但是实际上,我用user1在//ip/a/b/c里新建的文件权限只有-rwxrwx---,如下例:
         [root@example~]# cd /a/b/c
         [root@example c]#ll
          -rwxrwx---+ user1 userg 13824 oct 15 16:29 110.xls         #user2不属于组userg,user2的主组是:userga,所以无法查看.
         [root@example d]#ll
          -rwxrw-r-- 1 user1 userg  15872 oct 15 17:50 100.xls    #100.xls新建是用user1新建的,默认的组是userg,
          drwxrwxr-x 2 user1 userg 4096 oct 15 17:53 100           #user1新建的文件夹权限跟组又不是一样的,默认的组还是userg,user2就无法查看了.
      我的其他配置如下:
         [root@example ~]#cat /etc/passwd
          user1: x:500:587:/a/home/user1:/sbin/nologin
          user2: x:502:588:/a/home/user2:/sbin/nologin
         [root@example ~]#cat /etc/group
           userg: x:587:user1,user3
           userga: x:588:user1,user2       #但是user1主组是userg,user2主组是userga
         [root@example ~]#cat /etc/samba/smb.conf
           [home]
               comment= example.com File Server
               path=/a
               read list=@example
               write list=@example
               create mask=0774
               create mode=0775
               directory mode=0775
现在的问题就是user1在/ip/a/b/c下建立的文件,user2无法查看和执行.如果有知道处理的方法的朋友可以跟我联系,多谢了.

    #  我建立的文件夹,我定义的权限是750,也就是说属主可以rwx,组里的成员只能r-x,其他的人不能访问;然后我又在此文件夹下面建立文件夹或文件,#它的权限跟上面一样,也是750;这时我建立第三级文件或者目录,它的权限就变了,不是那样的,组里的成员就可以修改,删除和新建了。
#我的本意就是有没有办法让samba来继承我设计好的权限呢,有高手帮忙看一下?
 楼主| 发表于 2011-10-17 14:23:53 | 显示全部楼层
怎么没有人观注此贴呀.怎么回事呀.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-25 09:31:45 | 显示全部楼层
解决方法:
      我把属主和组都加入到default user和group,详细如下:
     [root@example c]#getfacl c
        # file: c
      # owner: user1
      # group: userga
      user::rwx
      user:user1:rwx
      group::r-x
      mask::rwx
      other::r-x
      default:user::rwx
      default:group::r-x
      default:group:userga:r-x       #加入默认的组,这样组里其他的用户也就可以查看.
      default:mask::rwx
      defaultther::r-x
回复 支持 反对

使用道具 举报

发表于 2011-11-27 19:33:29 | 显示全部楼层
这事得分两步:
1:打开文件系统的 acl 支持。
需要 kernel 的支持。
然后在 /etc/fstab 的相关分区上 加上 acl
例:
LABEL=opt        /opt                 reiserfs         defaults,acl,user_xattr 1 1

2:在smb.conf 的[global]段加入以下几句:
#=== Acl inherit ===
        inherit acls = yes
        map acl inherit = yes
        inherit permissions = yes

要记得重启 samba 服务。
回复 支持 反对

使用道具 举报

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

本版积分规则

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