博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
samba+chmod+setfacl组合设置目录权限问题
阅读量:6091 次
发布时间:2019-06-20

本文共 4407 字,大约阅读时间需要 14 分钟。

转自:
samba+chmod+setfacl组合设置目录权限问题!

用了一个下午时间,测试+总结,终于完成了!
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
及时修改,今天早上发现一个问题,“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
本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/545370

转载地址:http://nhmwa.baihongyu.com/

你可能感兴趣的文章
iptables 开放所有端口, 对特殊端口只开放给指定IP
查看>>
Xtradb+Haproxy高可用数据库集群(三)sysbench性能测试篇
查看>>
彻底理解Cisco NAT内部的一些事
查看>>
Android官方开发文档Training系列课程中文版:管理Activity的生命周期之Activity的重建...
查看>>
自动化运维工具Ansible之roles
查看>>
MongoDB分片搭建
查看>>
5、Jenkins Email Extension Plugin插件使用说明
查看>>
Flex(mx:DataGrid)实现数据过滤显示
查看>>
中国ERP三大流程 国外ERP黯然失色
查看>>
js 的 slice方法
查看>>
Java网络编程(一)流
查看>>
Unix整理笔记——安全性——里程碑M13
查看>>
【斗医】【1】Web应用开发20天
查看>>
Yii 2 —— session
查看>>
烂泥:haproxy学习之https配置
查看>>
给C语言初学者的忠告——计算机达人成长之路(27)
查看>>
【思考】互联网产业发展趋势
查看>>
Vmware view 5.0 POC环境搭建参考v1.0
查看>>
编程小知识点范例-1
查看>>
同一Tomcat 多个端口部署不同的项目
查看>>