免费注册 查看新帖 |

Chinaunix

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

samba+chmod+setfacl组合设置目录权限问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-18 18:07 |只看该作者 |倒序浏览
用了一个下午时间,测试+总结,终于完成了!

1: 建目录  /rich/teacher
           /rich/teacher/t1  > u1--u3
           /rich/teacher/t2  > u4--u6       
      /rich/teacher/t3  > u7--u9

2:建用户  useradd  u1--u9,  t1--t3,  -g  g1

3: vim /etc/samba/smb.conf
        [teacher]
        comment = one class
        path = /rich/teacher
        writable = yes
        valid users = @g1,u1,u2,u3,u4,u5,u6,u7,u8,u9,t1,t2,t3
# 或者把用户建到组g1

4: vim /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/home             /home                   ext3    defaults        1 2
LABEL=/rich             /rich                   ext3    defaults,acl    1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda5         swap                    swap    defaults        0 0
/dev/hdc                /mnt/cdrom                iso9660 defaults        0 0       

5:开始设置权限

        从内向外依次设置
        1:  chown -R u1 u1                                       
             chown -R u2 u2                                       
                      ....u9


        2:  chmod 700 u1 u1
             chmod 700 u2 u2
                      ....u9     # 将所有学生文件夹权限归属到对应的每个学生下“u1 》 u1文件夹”
----------------------------------------------------------
        3:   setfacl -m u:t1:rwx  u1
             setfacl -m u:t1:rwx  u2
             setfacl -m u:t1:rwx  u3        # t1老师对其下面的3个学生文件夹有完全控制权限

             setfacl -m u:t2:rwx  u4
             setfacl -m u:t2:rwx  u5
             setfacl -m u:t2:rwx  u6        # t2老师对其下面的3个学生文件夹有完全控制权限

             setfacl -m u:t3:rwx  u7
             setfacl -m u:t3:rwx  u8
             setfacl -m u:t3:rwx  u9        # t3老师对其下面的3个学生文件夹有完全控制权限

--------------------------------------------------------------------------------------------------

        4:  setfacl -m        u:u1:r-x  t1
             setfacl -m        u:u2:r-x  t1
             setfacl -m        u:u3:r-x  t1    # u1,u2,u3对t1目录必需有读取的权限,不然无法进入到t1下面所对应的自己的目录

             setfacl -m        u:u4:r-x  t2
             setfacl -m        u:u5:r-x  t2
             setfacl -m        u:u6:r-x  t2    # u4,u5,u6对t2目录必需有读取的权限,不然无法进入到t1下面所对应的自己的目录

        setfacl -m        u:u7:r-x  t3
             setfacl -m        u:u8:r-x  t3
             setfacl -m        u:u9:r-x  t3    # u7,u8,u9对t3目录必需有读取的权限,不然无法进入到t1下面所对应的自己的目录



--------------------------------------------------------------------------------------------------
        5:学生与学生“u1--u3”“u4--u6”“u7--u8”之间的如果可以互访则

             setfacl  -m  u:u1:r-x u2   #设置u1可以访问u2的目录
-----------------------------------------------------------------------------------------------------

        6:如果    u1访问u4   或   u5访问u8  则需要更改第4部如下:
                u1 > u4  :  setfacl  -m  u:u1:r-x  t2
                                             setfacl  -m  u:u1:r-x  u4

                u5 > u8  :   setfacl  -m  u:u5:r-x  t2
                                               setfacl  -m  u:u5:r-x  u8

论坛徽章:
0
2 [报告]
发表于 2010-01-19 16:33 |只看该作者
及时修改,今天早上发现一个问题,“u1用户在自己的目录u1目录下新建的文档file1,t1老师可以将file1删除,但不能修改文件file1”
因此做了如下修改,今天生产环境中做了n多的测试后,最终修改为:

1: 建目录  /rich/teacher
           /rich/teacher/t1  > u1--u3
           /rich/teacher/t2  > u4--u6       
      /rich/teacher/t3  > u7--u9

2:建用户  useradd  u1--u9,  t1--t3,  -g  g1

3: vim /etc/samba/smb.conf
        [teacher]
        comment = one class
        path = /rich/teacher
        writable = yes
        valid users = @g1,u1,u2,u3,u4,u5,u6,u7,u8,u9,t1,t2,t3
# 或者把用户建到组g1

4: vim /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/home             /home                   ext3    defaults        1 2
LABEL=/rich             /rich                   ext3    defaults,acl    1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda5         swap                    swap    defaults        0 0
/dev/hdc                /mnt/cdrom                iso9660 defaults        0 0       

5:开始设置权限

        从内向外依次设置
        1:  chown -R u1 u1                                       
             chown -R u2 u2                                       
                      ....u9


        2:  chmod –R 700 u1 u1
             chmod –R 700 u2 u2
                      ....u9     # 将所有学生文件夹权限归属到对应的每个学生下“u1 》 u1文件夹”
----------------------------------------------------------
        3:   setfacl -m u:t1:rwx  u1
setfacl –d --set u:t1:rwx,u:u1:rwx u1
             setfacl -m u:t1:rwx  u2
setfacl –d --set u:t1:rwx,u:u2:rwx u2
             setfacl -m u:t1:rwx  u3       
setfacl –d --set u:t1:rwx,u:u2:rwx u2
# t1老师对其下面的3个学生文件夹有完全控制权限

             setfacl -m u:t2:rwx  u4
setfacl –d --set u:t2:rwx,u:u4:rwx u4
             setfacl -m u:t2:rwx  u5
setfacl –d --set u:t2:rwx,u:u5:rwx u5
             setfacl -m u:t2:rwx  u6       
setfacl –d --set u:t2:rwx,u:u6:rwx u6
        # t2老师对其下面的3个学生文件夹有完全控制权限

             setfacl -m u:t3:rwx  u3
setfacl –d --set u:t3:rwx,u:u7:rwx u7
             setfacl -m u:t3:rwx  u7
setfacl –d --set u:t3:rwx,u:u7:rwx u7
             setfacl -m u:t3:rwx  u3       
setfacl –d --set u:t3:rwx,u:u7:rwx u7
# t3老师对其下面的3个学生文件夹有完全控制权限
----------------------------------------------------------
        4:  setfacl -m        u:u1:r-x,u:u2:r-x,u:u3:r-x  t1
    # u1,u2,u3对t1目录必需有读取的权限,不然无法进入到t1下面所对应的自己的目录
            setfacl -m           u:u4:r-x,u:u5:r-x,u:u6:r-x  t2   
# u4,u5,u6对t2目录必需有读取的权限,不然无法进入到t2下面所对应的自己的目录
setfacl -m                u:u7:r-x,u:u8:r-x,u:u9:r-x  t3
  # u7,u8,u9对t3目录必需有读取的权限,不然无法进入到t3下面所对应的自己的目录
----------------------------------------------------------
        5:学生与学生“u1--u3”“u4--u6”“u7--u8”之间的如果可以互访则
             setfacl  -m  u:u1:r-x u2   #设置u1可以访问u2的目录
----------------------------------------------------------

        6:如果    u1访问u4   或   u5访问u8  则需要更改第4部如下:
                u1 > u4  :  setfacl  -m  u:u1:r-x  t2
                                             setfacl  -m  u:u1:r-x  u4

                u5 > u8  :   setfacl  -m  u:u5:r-x  t2
                                               setfacl  -m  u:u5:r-x  u8
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP