传统上,

权限三组:拥有者 (file owner),群组 (group),及 其它 (other)

属性三种:读取 (read),写入 (write),及 执行(executable)

chmod [who] [opt] [mode] 文件/目录名

其中who表示对象,是以下字母中的一个或组合:

opt则是代表操作,可以为:

而mode则代表权限:

u:表示文件所有者

g:表示同组用户

o:表示其它用户

a:表示所有用户

+:添加某个权限

-:取消某个权限

=:赋予给定的权限,并取消原有的权限

r:可读

w:可写

x:可执行

我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为: 111 101 100 再将其每三位转换成为一个十进制数,就是754。

存取控制清单 (Access Control List,简称 ACL)

ACL 实为现有权限机制的延伸,在三个基本设定 (拥有者,群组及其它)外,允许我们加入对某指定使用者或群组的存取权限设定。

大家常用的文件系统,如:ext3、xfs、jfs和 ReiserFS,都能使用ACL。

要查看一个文件或目录的 ACL,需要使用 “getfacl” 指令:getfaclreport.doc

如果需要更改一个档案或目录的 ACL,可以使用setfacl 指令,其用法如下:

setfacloption rules files

Glusterfs之POSIX ACL文件权限管理

在服务端启用POSIXAccess Control Lists (ACLs)

如果需要使用POSIX Access Control Lists (ACLs) ,那么在服务器端挂接逻辑卷时就需要指定acl选项,如下所示:

#mount -o acl /dev/sda1 /export1

在/etc/fstab文件中可以这样配置:

LABEL=/work/export1 ext3 rw, acl 14

在客户端启用POSIXAccess Control Lists (ACLs)

#mount -t glusterfs -o acl 198.192.198.234:glustervolume /mnt/gluster

设置POSIX ACLs

一般地,你可以设置两种类型的POSIX ACLs,access ACLs和default ACLs。前者用于对一个指定的目录或文件设置访问策略,而后者则为目录及目录中的文件提供一种默认的访问控制策略。你可以基于每个用户、用户组以至于不在文件属组内的其它用户,来设置ACLs。

设置access ACLs命令格式:# setfacl -m file

下表为可以设置的权限项目和格式要求,其中<permission>必须是r (read), w (write),and x (execute)的组合形式。

ACLEntry

Description

u:uid:\<permission>

Setsthe access ACLs for a user. You can specify user name or UID

g:gid:\<permission>

Setsthe access ACLs for a group. You can specify group name or GID.

m:\<permission>

Setsthe effective rights mask. The mask is the combination of all accesspermissions of the owning group and all of the user and group entries.

o:\<permission>

Setsthe access ACLs for users other than the ones in the group for the file.

授权对象可以是文件,也可以是目录。例如,为用户antony授权testfile的读写权限。

[root@pc3test-disperse]# setfacl -m u:antony:rw /mnt/gluster/data/testfile

设置defaultACLs的命令格式:# setfacl -d -m

例如,设置/data目录的默认ACLs为向不在文件所属用户组内的其它所有用户,开放只读的权限:

[root@pc3test-disperse]# setfacl -d -m o::r /mnt/test-disperse

注:如果同时设置了default acls和access acls,则access acls优先级更高。

查看已经设置的POSIXACLs

查看文件的access acls:[root@pc3 test-disperse]# getfacl targetfile

查看目录的default acls:

[root@pc3test-disperse]# getfacl /mnt/test-disperse

getfacl:Removing leading '/' from absolute path names

#file: mnt/test-disperse

#owner: root

#group: root

user::rwx

group::r-x

other::r--

移除POSIX ACLs

例如,移除用户antony对test-file的所有访问权限:

[root@pc3test-disperse]# setfacl -x u:antony /mnt/gluster/data/test-file

Samba and ACLs

如果你使用Samba访问GlusterFS FUSE挂接的存储卷,那么POSIX ACLs会默认被启用。

GlusterFS 之 POSIX ACLs相关推荐

  1. configure: error: Support for POSIX ACLs is required

    安装Glusterfs时报如下错误 checking sys/acl.h usability- no checking sys/acl.h presence- no checking for sys/ ...

  2. 深入理解GlusterFS之POSIX接口

    (TaoCloud团队原创 作者:林世跃@TaoCloud) FUSE是用户空间的文件系统接口,FUSE内核模块为普通应用程序与内核虚拟文件系统VFS的交互提供了一个桥梁.基于FUSE用户空间模块,开 ...

  3. 搭建glusterfs集群

    搭建glusterfs集群 Glusterfs简介 GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB ...

  4. glusterfs java_GlusterFS: 访问权限设置

    GlusterFS: 访问权限设置 GlusterFS支持基于POSIX Access Control Lists的访问权限设置,在Ubuntu或者类似的系统上,只需要使用setfacl或getfac ...

  5. 分布式存储——GlusterFS

    原文链接:分布式存储-GlusterFS_西风未眠的技术博客_51CTO博客 文章目录 GlusterFS 简介 GlusterFS集群搭建 1.gfs集群安装前提 2.测试服务器规划 3.四台gfs ...

  6. GlusterFS元数据机制分析

    ​TaoCloud团队原创:微信公众号文章访问 GlusterFS作为一个免费开源的分布式文件系统,以其简约的架构设计,完善的协议支持,无中心节点.全局统一命名空间.高可用.高性能.横向扩展等特点,拥 ...

  7. 一篇文章搞懂 HDFS ACLs权限管理

    小米的HDFS承载了公司内多个部门几十条业务线的几十PB数据,这些数据有些是安全级别非常高的用户隐私数据,也有被广泛被多个业务线使用的基础数据,不同的业务之间有着复杂的数据依赖.因此,如何管理好这些数 ...

  8. GlusterFS原创资源

    GlusterFS分布式文件系统原创资源合集,持续更新补充,方便自己和广大同学查阅. [1] GlusterFS集群文件系统研究 [2] 基于开源软件构建高性能集群NAS系统 [3] 创建Gluste ...

  9. java访问glusterfs_GlusterFS: 访问权限设置

    GlusterFS: 访问权限设置 GlusterFS支持基于POSIX Access Control Lists的访问权限设置,在Ubuntu或者类似的系统上,只需要使用setfacl或getfac ...

最新文章

  1. 哈哈哈,这个教人写烂代码的项目在 GitHub 上火了...
  2. git show查看本地文件的修改部分,git diff 如何比较文件,git grep 搜索
  3. python2与python3性能对比_对Python2与Python3中__bool__方法的差异详解
  4. PCL点云 Lebel:Research
  5. java a%2==0_Java 初始化a=2 打印a+++a++为5
  6. 软件测试技术第一次试验之——JUnit的安装与使用
  7. 2018/12/06 eclipse 快速加载需要的包
  8. java kill 进程 时间_kill及kill-9的用法及如何实现进程的优雅退出
  9. SQL SERVER 和ACCESS/excel的数据导入导出
  10. AutoLayout 的一些坑
  11. 语义slam_【语义SLAM】MIT 新开源语义VIOSLAM框架 kimera
  12. 基于三台主机部署phpwind
  13. 余额宝不是吸血鬼,银行才是
  14. 性能测试--11Beanshell的脚本开发技术
  15. 关于android硬件加速器的问题
  16. 手把手教你用Execel求解一个矩阵的逆矩阵
  17. sql 2008 R2 备份和还原
  18. 【SSDT】SSDT hook技术
  19. Web Moudle
  20. 腾讯面试居然跟我扯了半小时的CountDownLatch

热门文章

  1. 跨平台web app教育设备的一些设计标准
  2. 仅300员工却垄断全球,几亿一台还供不应求
  3. 匹配的通配符很全面,但无法找到元素mvc:annotation-driven的声明
  4. 阿里云Linux服务器新手入门(2核4G)
  5. 羊毛出在狗身上让猪来买单 - 智能音箱背后的平台经济...
  6. 开发一个APP有多难?APP开发流程、开发成本揭秘
  7. 在 Linux CentOS7 上安装 Maven
  8. python json库安装_python-安装simplejson后没有名为“ json”的模块
  9. 基于ACCESS的教师工作量计算系统的设计与实现(含源文件)
  10. BUAA OJ 722 Gzh之表达式求值