Linux高级权限管理 - ACL
传统权限模型缺点:
传统的UGO权限模型无法应对负责的权限设置要求,如对于一个文件只能设置一个组,并且对该组进行权限控制,但是如果该文件有多个组合会对其进行访问,并且都要要求权限限制时,传统的UGO模型就无法满足需求了。
这时候就需要采用ACL权限来管理了
ACL(Access Control List)是一种高级权限机制,允许我们对一个文件或文件夹进行灵活的、复杂的权限设置
ACL需要在挂在文件的时候打开ACL功能:
mount -o acl /dev/sda5 /mnt
ACL允许针对不同用户、不同组对一个目标文件、文件夹进行权限设置,不受UGO模型限制
查看一个文件、文件夹的ACL设置
getfacl linuxcast.net
针对一个用户对文件进行ACL设置:
setfacl -m u:nash_su:rwx linuxcast.net
m是modify的意思,u是user,nash_su是用户名,rwx是赋予nash_su对linuxcast.net文件的权限
针对一个组对文件进行ACL设置
setfacl -m g:training:rw linuxcast.net
m是group,training是group的名字,rw是training组对linuxcast.net的权限
删除一个ACL设置:
setfacl -x u:nash_su linuxcast.net
这时候用户名后面就不需要带权限,直接删除就OK

第一步,新建一个统一的文件夹
mkdir linuxcast.net
然后在其下面新建三个子文件夹,文件夹名分别为:training , market , manage
mkdir training
mkdir market
mkdir manage
这时的默认权限为
drwxr-xr-x. root root Sep : manage
drwxr-xr-x. root root Sep : market
drwxr-xr-x. root root Sep : training
这时,使用以下命令修改training文件夹所在的组,其它两个组类似
chgrp training training
这时权限为:
drwxr-xr-x. root manage Sep : manage
drwxr-xr-x. root market Sep : market
drwxr-xr-x. root training Sep : training
建好文件后,因为其它组的用户不能访问本组的用户的文件,所以使用
chmod o-rwx training
每个组的other的权限减去rwx,这时其他组就不能再访问本组的权限了。
这时候新建的用户目录的组应该继承其部门的组,所以使用
chmod g+s training
g是组的意思,s是继承的意思,也就是training下面的组就都是trining组了,修改后信息如下
drwxr-s---. root manage Sep : manage
drwxr-s---. root market Sep : market
drwxr-s---. root training Sep : training
新建用户的权限为:
drwxr-sr-x. root training Sep : bob
drwxr-sr-x. root training Sep : nash_su
再分别使用
chmod nash_su nash_su
把该文件的默认用户名root修改为该用户名
drwxr-sr-x. bob training Sep : bob
drwxr-sr-x. nash_su training Sep : nash_su
现在就差最后一部了,传统的UGO权限这时已经无法在给boss查看和执行的权限了,这时候,就可以用到 setfacl 了,使用命令
setfacl -m g:boss:rx training
m是modify的意思,g是group的意思,g后面接组的名字,组名后再接权限,这样就实现training部门,boss就有查看和执行该文件下面所有的权限了
使用 getfacl training 查看该文件下的权限信息
# file: training
# owner: root
# group: training
# flags: -s-
user::rwx
group::r-x
group:boss:r-x
mask::r-x
other::---
这时候的组中就有了boss组的查看和执行的权限了。
Linux高级权限管理 - ACL的更多相关文章
- chmod g+s 、chmod o+t 、chmod u+s:Linux高级权限管理
关于linux下权限操作chmod的一些说明!比rxw高级内容! 转载自http://blog.chinaunix.net/uid-26642180-id-3378119.html Set uid, ...
- Linux高级权限管理
传统的UGO(rwx-wx-wx)权限模型,无法解决当多个组需要对一个文件执行某些权限的问题. ACL :访问控制列表access control list一种高级的权限机制,允许我们对文件或者文件夹 ...
- linux的用户扩充权限管理acl和用户使用系统资源的限制
用户扩充权限管理 acl 1.扩充权限的方式 文件扩充权限 ACL 磁盘配额 2.文件扩充权限 1.安全位 安全位 ---set位 SUID SGID set仅可以加给 u.g, 如: ...
- Linux中权限控制ACL命令
很多小伙伴觉得,Linux的权限管理命令不就是chown和chmod命令吗,什么时候有了ACL了? 什么是ACLACL是访问控制列表(Access Control List)的缩写,主要的目的是在提供 ...
- linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解
linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...
- 权限管理——ACL权限
权限管理 ACL权限 用于解决用户对文件身份不足 命令:[root@localhost ~]#dumpe2fs -h /dev/sd3 作用:查询指定分区详细的文件系统给信息 选项 -h:仅显示超级块 ...
- Linux目录权限管理
Linux目录权限管理 实验目标: 通过本实验掌握centos7/rhel7目录权限的管理.包括配置目录的所属组.SGID.读/写/执行权限等. 实验步骤: 1.创建目录/home/instruc ...
- Linux权限管理 ACL权限
ACL权限简介 在普通权限中,用户对文件只有三种身份ugo,分别为属主(u).属组(g)和其他人(o):每种用户身份拥有读(read).写(write)和执行(execute)三种权限.但是在实际工作 ...
- linux特殊权限(acl)
建立用户目录 创建目录/oldboy/tech./oldboy/edu,分别用于不同项目组添加组账号 添加组账号tech.edu,GID分别设置为1001.1002 ...
随机推荐
- java notify和notifyAll的区别
首先从名字可以了解,notify是通知一个线程获取锁,notifyAll是通知所有相关的线程去竞争锁. notify不能保证获得锁的线程,真正需要锁,并且可能产生死锁. 举例1: 所有人(消费者线程) ...
- python学习道路(day1note)(变量,注释,用户输入,格式化输出,if,while,for循环并扩展练习)
python是一门动态解释性的强类型定义语言,其应用范围非常之广 1:进入python语言 #!/usr/bin/env python #_*_coding:utf-8_*_ print(" ...
- symmetric multiprocessor
https://en.wikipedia.org/wiki/Symmetric_multiprocessor_system A symmetric multiprocessor system (SMP ...
- Android 网络通信框架Volley简介
1.1. Volley引入的背景在以前,我们可能面临如下很多麻烦的问题. 比如以前从网上下载图片的步骤可能是这样的流程: 在ListAdapter#getView()里开始图像的读取. 通过Async ...
- Postgre cannot insert multiple commands into a prepared statement
悲剧... FireDAC连接Postgre数据库, 使用默认的属性, 一次执行多条SQL的时候, 会报"cannot insert multiple commands into a pre ...
- jq 获取除节假日与周六日 外的日期 和 星期
//设置节假日的数组 var holiday = Array('2016-04-30','2016-05-01','2016-05-02','2016-06-09','2016-06- ...
- 学习mysql
一 概述 1.什么是数据库 数据库就是数据的仓库. mysql是对数据库进行存储和指令操作的软件.这类软件成为数据管理系统Database Management System. 2.mysql的安装和 ...
- Inside Flask - json 处理
Inside Flask - json 处理 在处理 web api 时,json 是非常好用的数据交换格式,它结构简单,基本上各种主流的编程语言都有良好的支持工具. flask 中处理 json 时 ...
- 【转】PHP 位运算应用口诀
位运算应用口诀 清零取位要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形. 2 "<<" ...
- ios - 自动布局框架编写(更多功能完善中)
之前用的storyboard以及xib挺多的,最近看到朋友用第三方框架---自动布局约束框架在添加控件约束的时候老实报错.后来自己就试了试纯代码创建以及约束控件.但是纯代码约束一个控件还可以,如果约束 ...