setfacl语法2
- setfacl命令可以用来细分linux下的文件权限。
- chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限。
- 换句话说,setfacl可以更精确的控制权限的分配。
- 比如:让某一个用户对某一个文件具有某种权限。
- 这种独立于传统的u,g,o的rwx权限之外的具体权限设置叫ACL(Access Control List)
- ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。
- 如,某一个文件,不让单一的某个用户访问。
- setfacl 参数
- Usage: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
- -m, --modify=acl modify the current ACL(s) of file(s)
- -M, --modify-file=file read ACL entries to modify from file
- -x, --remove=acl remove entries from the ACL(s) of file(s)
- -X, --remove-file=file read ACL entries to remove from file
- -b, --remove-all remove all extended ACL entries
- -k, --remove-default remove the default ACL
- --set=acl set the ACL of file(s), replacing the current ACL
- --set-file=file read ACL entries to set from file
- --mask do recalculate the effective rights mask
- -n, --no-mask don't recalculate the effective rights mask
- -d, --default operations apply to the default ACL
- -R, --recursive recurse into subdirectories
- -L, --logical logical walk, follow symbolic links
- -P, --physical physical walk, do not follow symbolic links
- --restore=file restore ACLs (inverse of `getfacl -R')
- --test test mode (ACLs are not modified)
- -v, --version print version and exit
- -h, --help this help text
- 例子:在/test 下建立一个test文件 将权限改为777 并查看其ACL设置
- [root@localhost ~]# cd /test/
- [root@localhost test]# touch test.txt
- [root@localhost test]# echo 123 > test.txt
- [root@localhost test]# cat test.txt
- 123
- [root@localhost test]# chmod 777 test.txt
- [root@localhost test]# ll
- 总用量 0
- -rwxrwxrwx. 1 root root 0 2月 6 20:40 test.txt
- [root@localhost test]# getfacl test.txt
- # file: test.txt //文件名
- # owner: root //文件所属者
- # group: root //文件所属组
- user::rwx //文件所属者权限
- group::rwx //同组用户权限
- other::rwx /其它者权限
- 现在我们让handsome用户只有读取的权限
- [root@localhost test]# setfacl -m u:handsome:r test.txt
- [root@localhost test]# ll
- 总用量 4
- -rwxrwxrwx+ 1 root root 0 2月 6 20:40 test.txt //权限的最后多了一个“+”
- [root@localhost test]# getfacl test.txt
- # file: test.txt
- # owner: root
- # group: root
- user::rwx
- user:handsome:r-- //handsome的权限为r
- group::rwx
- mask::rwx
- other::rwx
- 通过handsome用户验证一下:
- [root@localhost test]# su - handsome
- [handsome@localhost ~]$ cat /test/test.txt
- 123
- [handsome@localhost ~]$ echo 456 >> /test/test.txt
- -bash: /test/test.txt: 权限不够
- 除了对某个文件的单个用户进行权限设置外,还可以对某个组进行同样的设置:g:[用户组]:[rwx]
- 还能对有效权限(mask)进行设置:有效权限(mask) 即用户或组所设置的权限必须要存在于mask的权限设置范围内才会生效
- 最后取消ACL权限:
- [root@localhost test]# setfacl -x u:handsome test.txt
- [root@localhost test]# ll
- 总用量 8
- -rwxrwxrwx+ 1 root root 4 2月 6 20:47 test.txt
- 删除所有acl
- [root@localhost test]# setfacl -b test.txt
- [root@localhost test]# ll
- 总用量 4
- -rwxrwxrwx. 1 root root 4 2月 6 20:47 test.txt
setfacl语法2的更多相关文章
- setfacl语法
1.setfacl的用途setfacl命令可以用来细分linux下的文件权限. chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说 ...
- getfacl语法2
一.setfacl——设定文件访问控制列表语法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ... -m, --modify=acl 更改文件的访问控制 ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
随机推荐
- 使用go语言数据库
1.下载并导入数据库驱动包(注意配置环境变量.数据库.go.以及ENV) 这里选择了Go-MySQL-Driver这个实现.地址是:https://github.com/go-sql-driver/m ...
- Linux 默认线程栈大小 调优
Linux 线程栈介绍 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的变量通常是局部变量.函数参数等:和堆相比,栈通常很小. Linux 查询线程栈 1.查看默认的 ...
- yum无法安装的pdksh
yum无法安装的pdksh,本地pdksh-5.2.14-37.el5_8.1.x86_64.rar,点击下载.
- Java Web获取Web应用根路径
最基本的 1,request.getRealPath("/");这个方法已不推荐用 2,在Servlet 里用this.getServletContext().getRealPat ...
- Ansible 的安装
On Fedora: $ sudo dnf install ansible On RHEL and CentOS: $ sudo yum install ansible On Ubuntu: $ su ...
- STS的安装与简单使用
一,STS下载与安装 1.下载地址:http://spring.io/tools3/sts/all 2.选择对应版本安装或者解压 二,STS简单使用 1.快捷方法 (1)main+alt+/+回车 = ...
- 委托&&异步
private void ShowMessage(string message) { this.BeginInvoke(new MethodInvoker(delegate { txtSysMessa ...
- 输出JSON
<?php header("Content-type: text/html; charset=utf-8"); $host = '数据库IP'; $dbname = '数据库 ...
- 整数转罗马数字以及罗马数字转整数(java实现)
题目: 1.罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ...
- POJ-3233 Matrix Power Series 矩阵A^1+A^2+A^3...求和转化
S(k)=A^1+A^2...+A^k. 保利求解就超时了,我们考虑一下当k为偶数的情况,A^1+A^2+A^3+A^4...+A^k,取其中前一半A^1+A^2...A^k/2,后一半提取公共矩阵A ...