linux中用ACL实现灵活的权限管理

ACL是什么??

ACL英文原意是Access Control List(访问控制列表).它能够实现灵活的权限管理,除了文件的所有者,所属组和其他人,设置相应的权限外,ACL允许你给任何用户或是用户组设置任何文件/目录的访问权限(注意的是有些不支持数字模式的权限给定)

ACL有什么用??

作为UGO权限管理的补充,aclGUO办不到或者是难以办到的功能

        1.可以针对用户来设置权限

        2.可以针对用户组来设置权限

        3.子文件/子目录继承父目录的权限

检查linux是否支持ACL??

acl需要linux内核和文件系统的配合才能工作,目前我们能见到的大多数linux发行版默认是支持的,但最好还是先检查一下

 图片1.png

注意:在linuxVfat 文件系统不支持acl

      centos7.0默认创建的xfsext4文件系统上有acl

      centos7.x之前版本,手工创建的ext4文件系统也不支持acl

      功能。需手动增加:

               tune2fs -o acl /dev/sdb1

               mount -o acl /dec/sdb1 /mnt

设置/dev/sda1挂载选项,用Posix Access Control Lists和用户指定的扩展属性

 那如何设置acl呢??

  1.   setfacl  -m  u:用户名:所给权限:文件

 图片2.png   

   2.  setfacl  -m  u:用户名:所给的权限:目录

如果后面是目录,则只有所给的这个目录有这个权限,其子目录里面没有。

    3.    setfacl  -Rm  g:组名:所给权限X:目录

R 就会递归到子目录里和文件,用X只给目录执行权限给文件件怎会没有

   4.    setfacl  -M file.acl 文件或是目录

比如,编辑一个acl文件。以后用到这个权限时直接调用就行了 uwang0   gtomrw

大量文件对要求有相同的acl,可写在文件里这样统一管理比较方便

   5.    setfacl  -m  du:用户名:权限 目录

表示在这个目录下新建的文件、目录默认都会有这个acl

   6.    setfacl  -x  u:用户名:文件|目录

删除所创建的acl

   7.    setfacl  -X  file.acl 目录

默认acl权限给了x,文件也不会继承x权限

base acl不能删除

   8.    setfacl  -k  dir 删除默认acl权限

   9.    setfacl  -b  file清除所有自己设置的acl权限

 图片3.png

如何限制特殊用户的最高权限呢??

acl文件上的group权限是mask值(自定义用户,自定义组,拥有组的最大权限)而非传统的组权限

mask 只影响除所用者和other的之外的人和组的最大权限

mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限

用户或组的设置必须在mask权限设定范围内才会生效

  10.  Setfacl -m mask ::rw 文件名(中间两个冒号之间没有空格)

图片4.png 

  –set选项会把原有的acl项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能像-m一样只是添加acl就可以如

  11.  setfacl –set u::rwuwangrwg::ro::–  文件

  12 .  acl 的备份 getfacl -R /tmp/dir >acl.txt

  13.  getfacl 可看到特殊权限

 

原创文章,作者:yywan1314,如若转载,请注明出处:http://www.178linux.com/27841

(0)
yywan1314yywan1314
上一篇 2016-08-05 16:13
下一篇 2016-08-05 16:13

相关推荐

  • 条件测试与基础运算

    变量类型: 整形 数值型 字符型 byte boolen 单精度 双精度 变量种类: 环境变量– 对所有进程有效 本地变量– 仅对当前shell有效 局部变量– 仅在函数中的某一段有效 位置变量– $1,$2,$3,$4 特殊变量– $?,$0,$*,$@,$#,$$ 变量命名法则: 1.不能出现程…

    Linux干货 2017-04-16
  • shell脚本小练习..

    刚刚接触vim和shell脚本,用几个小脚本练练手。 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中。 3、编写脚本…

    2017-04-13
  • 链接的“软”与“硬”

    前言     类似Windows系统,Linux系统在进行文件管理时,也会引入链接概念。而链接又分为软链接和硬链接,两种链接适用于不同场合、不同用途,各有优缺点。在介绍软硬两种链接之前,需要先引入inode的概念。 Inode:     系统在管理文件时,为了有序寻址,会将元数据(metadata)和用户数据…

    Linux干货 2016-10-20
  • 第五周练习

    1、显示当前系统上root、fedora或user1用户的默认shell 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一小组括号的行,刑如:hello() 3、使用echo命令输出一个绝对路径,使用grep取出基名 4、找出ifconfig命令结果中的1-255之间的数字 5、查找/var目录下属主为root,且属组为mai…

    2017-10-29
  • ☞磁盘管理、MBR、GPT、分区工具、文件系统、常见分区挂载

    磁盘管理{磁盘结构;MBR;GPT;分区工具;文件系统;分区挂载;}

    Linux干货 2016-08-29
  • Linux基础知识之IO重定向

    该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统。  什么是I/O重定向?       所谓I/O重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序,脚本,甚至脚本中的代码块(codeblock)的输出,然后把捕捉到的输出,作为输入发送给…

    Linux干货 2016-07-26