1. ACL权限

1.1 ACL权限简介与开启

(1)ACL权限简介

  ①ACL是Access Control List的缩写,主要目的是在提供传统的owner,group,others的read,write,execute权限之外的局部权限设定。ACL可以针对单个用户,单个文件或目录来进行r,w,x的权限设定,特别适用于需要特殊权限的使用情况。

  ②简单地来说,ACL就是可以设置特定用户或用户组对于一个文件/目录的操作权限。(即,将文件或目录的操作权限赋于某些特定的用户或组)

(2)查看分区ACL权限是否开启

#df –h //先用df查看当前所有分区

#dumpe2fs –h /dev/sda1 | grep acl(查看其中的Default mount options:    user_xattr acl这项,此处表明默认该分区是支持ACL权限的。注意,-h选项表示仅显示超级块信息,而不显示磁盘块组的详细信息)

(3)临时开启分区ACL权限

  #mount -o remount,acl /dev/sda1   (重新挂载根分区,并挂载加入acl权限)

(4)永久开启分区ACL权限

#vi /etc/fstab

UUID=UUID=71c20ba0--43cf-a18b-21f5ef11b893 / ext4 defaults,acl  

#mount -o remount,acl /dev/sda1  (重新挂载文件系统或重启动系统,使修改生效)

1.2 查看与设定ACL权限

1.2.1 查看ACL权限的命令

(1)命令格式:#getfacl 文件名   //查看acl权限

1.2.2设定ACL权限的命令

(1)命令格式:setfacl [选项] 文件名

选项

含义

-m

设定ACL权限

-x

删除指定的ACL权限

-b

删除所有的ACL权限

-d

设定默认ACL权限

-k

删除默认ACL权限

-R

递归设定ACL权限

(2)应用举例

[root@localhost ~]# useradd zhangsan
[root@localhost ~]# useradd lisi
[root@localhost ~]# useradd st
[root@localhost ~]# groupadd tgroup
[root@localhost ~]# mkdir /tmp/project
[root@localhost ~]# chown root:tgroup /project/
[root@localhost ~]# chown root:tgroup /tmp/project
[root@localhost ~]# chmod /tmp/project //0表示其它用户对该目录无任何权限
[root@localhost ~]# setfacl -m u:st:rx /tmp/project //使st用户对/tmp/project具有rx权限,可以通过ll –d /tmp/project查看,目录权限后多了一个“+”号,表示该目录设定了ACL权限。可以通过getfacl查看具体的ACL权限设置(其中-m表示设定ACL权限,u表示对用户设置访问该目录的权限,g表示对用户组设置ACL权限,m表示设定最大有效权限mask) [root@localhost ~]# getfacl /tmp/project //查看/tmp/project的ACL权限 getfacl: Removing leading '/' from absolute path names
# file: tmp/project
# owner: root
# group: tgroup
user::rwx
user:st:r-x
group::rwx
mask::rwx
other::---

1.3 最大有效权限与删除ACL权限

1.3.1 最大有效权限mask

(1)mask权限:

  ①是用来指定最大有效权限的。如果对用户赋予了ACL权限,并不意味着用户就有了这个权限,而是需要和mask权限“相与”才能得到用户真正的权限

  ②只影响acl权限和所属组权限,但不影响所有者的权限

(2)修改mask权限:#setfacl –m m:rx /tmp/project/

1.3.2 删除ACL权限

(1)删除指定用户的ACL权限:  #setfacl –x u:用户名 文件名

(2)删除指定用户组的ACL权限:#setfacl –x g:组名 文件名

(3)删除文件的所有ACL权限:  #setfacl –b 文件名

1.4 默认ACL权限和递归ACL权限

1.4.1 递归ACL权限

(1)递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限

(2)格式:#setfacl –m u:用户名:权限 –R 目录名 (注意,命令后面只能跟目录名,因为文件下不可能再有文件或目录,也就没有递归的问题。)

(3)注意事项:

  ①此处的递归设置只对现有的文件或目录设置ACL设置,执行setfacl命令后,再新建的子文件或子目录并不会自动拥有这个ACL权限。

  ②为了让新建的子文件或目录也自动拥有ACL权限,需加“d”设置父目录的默认ACL权限(见下面的示例)

1.4.2 默认ACL权限

(1)默认ACL权限的作用是如果给父目录设定了ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。

(2)命令格式:#setfacl –m d:u:用户名:权限 目录名 (其中的d表示default

(3)注意事项:默认ACL权限只对目录起作用,而不文件不起作用。因为目录下可以创建文件或目录,但文件下不行。

第7章 权限管理(1)_ACL权限的更多相关文章

  1. 【Linux】 Linux权限管理与特殊权限

    Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在 ...

  2. Android权限管理之Permission权限机制及使用

    前言: 最近突然喜欢上一句诗:"宠辱不惊,看庭前花开花落:去留无意,望天空云卷云舒." 哈哈~,这个和今天的主题无关,最近只要不学习总觉得生活中少了点什么,所以想着围绕着最近面试过 ...

  3. 【Java EE 学习 75 上】【数据采集系统第七天】【二进制运算实现权限管理】【权限分析和设计】

    一.权限计算相关分析 1.如何存储权限 首先说一下权限保存的问题,一个系统中最多有多少权限呢?一个大的系统中可能有成百上千个权限需要管理.怎么保存这么多的权限?首先,我们使用一个数字中的一位保存一种权 ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据 ...

  5. Linux系列教程(十六)——Linux权限管理之ACL权限

    通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...

  6. Linux权限管理之ACL权限

    注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...

  7. SNF快速开发平台2019-用户安全控制-权限管理模型实践-权限都在这里

    1.1    是否保存密码 勾选记住密码后,再次开启程序用户密码不需要再次输入,直接显示在密码输入框内,方便快捷. 图 4.1‑1 记住密码的登录页面框 1.2    是否自动登录 勾选自动登录后,再 ...

  8. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)(终结)

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  9. liunx权限管理之高级权限

    高级权限 suid,sgid,sticky ======================================================== 文件权限管理之:高级权限 问题1: 为什么 ...

  10. linux权限管理之基本权限

    基本权限 UGO ======================================================== 文件权限设置: 可以赋于某个用户或组 能够以何种方式 访问某个文件 ...

随机推荐

  1. C#语言和数据库基础

    第一章 第一个C#程序 Vs2012密钥 RBCXF-CVBGR-382MK-DFHJ4-C69G8 01..net和C#的区别 大概在2000年,微软推出了一种革命性的产品--.NET(战略) 目标 ...

  2. One-Time Project Recognition

    Please indicate the source if you need to repost. After implementing NetSutie for serveral companies ...

  3. User Get 'Access Denied' with Excel Service WebPart

    用户可以访问网站,并且具有相应的访问权限. 用户尝试了其他浏览器和IE的其他版本. 解决: 将用户添加到 ‘Excel Services Views’ 这个SharePoint组就OK了.

  4. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q141-Q143)

    Question  141 You are planning an upgrade to a SharePoint 2010 application. You have the following r ...

  5. Android开发学习——应用安装过程

    首先一个android项目,然后编译和打包,将.java文件编译为.class,.class编译为.dex,将所有文件打包为一个apk,只编译代码,不编译资源. .apk里面的.arsc是资源的索引, ...

  6. va_start和va_end使用详解

    本文主要介绍va_start和va_end的使用及原理. 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表 ...

  7. iOS 实用博客整理(连载版)

    iOS 实用博客整理(连载版) 本博客为本人觉得不错的博客的暂存地,并不是本人所写. 1.iOS开发 如何适配iOS10? 2.UIWebView和WKWebView的比较和选择 3. 如何快速的开发 ...

  8. iOS 直播-获取音频(视频)数据

    iOS 直播-获取音频(视频)数据 // // ViewController.m // capture-test // // Created by caoxu on 16/6/3. // Copyri ...

  9. Android View的几个位置坐标关系

    1. View的边界,left, top, right, bottom(即左上右下),这些值都是相对View的父容器说的: 2. View的x, translationX, y, translatio ...

  10. ViewController生命周期

    alloc -> initWithNibName -> loadView -> viewDidLoad -> viewWillAppear -> viewDidAppea ...