acl权限命令
1.查看acl命令
getfacl 文件名 #查看acl权限
2.设定acl权限命令
setfacl 选项 文件名
选项: -m 设置ACL权限 -x 删除指定的ACL权限 -b 删除所有的ACL设定权限 -R 递归设置ACL权限 -d 设置默认的ACL权限(只对目录有效,在该目录新建的文件也会使用此 ACL默认值) -k 删除默认的ACL权限
2.1添加用户acl权限
[root@localhost ~]# mkdir /test #创建test目录
[root@localhost ~]# ll -d /test #查看test目录文件详细信息
drwxr-xr-x. root root 4月 : /test
[root@localhost ~]# useradd test1 #创建test1用户
[root@localhost ~]# useradd test2 #创建test2用户
[root@localhost ~]# groupadd testgroup #创建testgroup组
[root@localhost ~]# gpasswd -a test1 testgroup #将test1用户添加到testgroup组
正在将用户“test1”加入到“testgroup”组中
[root@localhost ~]# gpasswd -a test2 testgroup #将test2添加到testgroup组
正在将用户“test2”加入到“testgroup”组中
[root@localhost ~]# cat /etc/group #查看group文件testgroup组用户
[root@localhost ~]# chown root:testgroup /test #修改test目录身份
[root@localhost ~]# chmod 770 /test #修改test目录权限
[root@localhost ~]# ll -d /test#查看test详细信息
drwxrwx---. 2 root testgroup 6 4月 16 09:37 /test
[root@localhost ~]# useradd test #添加一个额外的用户,对test目录不同的权限操作
[root@localhost ~]# passwd test #添加用户密码
更改用户 test 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# setfacl -m u:test:rx /test #设置test文件acl全权限
[root@localhost ~]# ll -d /test
drwxrwx---+ 2 root testgroup 6 4月 16 09:37 /test #test目录权限多了个加号,说明有acl权限了
[root@localhost ~]# getfacl /test #查看目录acl具体信息
getfacl: Removing leading '/' from absolute path names
# file: test
# owner: root
# group: testgroup
user::rwx
user:test:r-x #test用户拥有了test目录读和执行权限
group::rwx
mask::rwx
other::---
[root@localhost ~]# su test #切换test用户
[test@localhost root]$ cd /test #test用户可以进入
[test@localhost test]$ touch a #test用户不能创建
touch: 无法创建"a": 权限不够
2.2添加组acl权限
[root@localhost test]# groupadd testgroup1 #添加testgroup1组
[root@localhost test]# setfacl -m g:testgroup1:rwx /test #设置test目录acl testgroup组权限
[root@localhost test]# getfacl /test #查看test目录acl权限
getfacl: Removing leading '/' from absolute path names
# file: test
# owner: root
# group: testgroup
user::rwx
user:test:r-x
group::rwx
group:testgroup1:rwx #test目录拥有了testgroup1组额外rwx权限
mask::rwx
other::---
3.设置最大有效权限
在设置完acl时,查看都能看到倒数第二行有个mask项,这个mask是对acl权限的一个限定的。也就是说acl的设定权限不一定是真正的有效权限,
是需要和mask相与“”才是真的有效权限。
来个例子:
[root@localhost ~]# setfacl -m m:rw /test #给test目录设置最大有效权限
[root@localhost ~]# getfacl /test #查看test目录acl权限
getfacl: Removing leading '/' from absolute path names
# file: test
# owner: root
# group: testgroup
user::rwx
user:test:r-x #effective:r-- #test用户acl有效权限是r--
group::rwx #effective:rw- #所属组有效权限是rw-
group:testgroup1:rwx #effective:rw- #testgroup1有效acl权限rw-
mask::rw-
other::---
mask权限的设定不影响所有者的权限。默认不写的话,mask权限是rwx
4.删除ACL权限
删除acl权限命令:
setfacl -x 用户或组 文件名
[root@localhost ~]# setfacl -x g:testgroup1 /tes#删除testgroup1的acl权限
[root@localhost ~]# getfacl /test #查看test目录acl权限
getfacl: Removing leading '/' from absolute path names
# file: test
# owner: root
# group: testgroup
user::rwx
user:test:r-x
group::rwx
mask::rwx
other::---
testgroup1组的acl权限已经没了。
也可以一次性删除目录下所有acl权限
setfacl -d 文件名
[root@localhost ~]# setfacl -b /test #删除test目录所有acl权限
[root@localhost ~]# getfacl /test
getfacl: Removing leading '/' from absolute path names
# file: test
# owner: root
# group: testgroup
user::rwx
group::rwx
other::---
5.递归ACL权限
有时候希望目录下面子文件或子文件夹使用父目录的acl权限,而不是每次都手动设置acl命令。递归ACL就是完成这个操作
命令:
setfacl -R 文件名 #该命令只能针对目录及子目录操作
[root@localhost ~]# setfacl -m u:test:rw /test #先不用递归设置test目录acl权限
[root@localhost ~]# getfacl /test
getfacl: Removing leading '/' from absolute path names
# file: test
# owner: root
# group: testgroup
user::rwx
user:test:rw-
group::rwx
mask::rwx
other::---
[root@localhost ~]# cd /test #test目录下创建的a,b文件为没有acl权限的
[root@localhost test]# touch a
[root@localhost test]# touch b
[root@localhost test]# ll
总用量
-rw-r--r--. root root 4月 : a
-rw-r--r--. root root 4月 : b
[root@localhost test]# setfacl -m u:test:rw -R /test #使用递归设置test目录acl权限
[root@localhost test]# getfacl /test
getfacl: Removing leading '/' from absolute path names
# file: test
# owner: root
# group: testgroup
user::rwx
user:test:rw-
group::rwx
mask::rwx
other::--- [root@localhost test]# ll
总用量
-rw-rw-r--+ root root 4月 : a #a文件已经有acl权限了
-rw-rw-r--+ root root 4月 : b
注意一点:递归设置acl文件只能对现有的文件实现,后面新建的文件是没有acl权限的。如果你想后面新建文件也能实现acl权限,就是后面的默认acl权限了
6.默认ACL权限
命令:
setfacl -m d: u:用户名:权限 文件名 #该命令只能目录有效
[root@localhost test]# setfacl -m d:u:test:rw -R /test
[root@localhost test]# touch c
[root@localhost test]# ll
总用量
-rw-rw-r--+ root root 4月 : a
-rw-rw-r--+ root root 4月 : b
-rw-rw----+ root root 4月 : c #后面c文件也有了acl权限
2019-04-16
acl权限命令的更多相关文章
- LInux ACL权限控制
1.ACL简介 ACL是一种可以实现灵活的权限管理(文件的额外赋权机制)除了文件所有者,所属组和其他人,可以对更多的用户设置权限,这就是访问控制列表(Access Control List) 2.AC ...
- ACL权限设置命令setfacl和getfacl命令
ACL权限设置命令setfacl和getfacl命令 setfacl命令是用来在命令行里设置ACL(访问控制列表).在命令行里,一系列的命令跟随以一系列的文件名. [TOC] 选项 |参数|说明| ...
- Linux下ACL权限控制以及用sudo设置用户对命令的执行权限
ACL权限分配 1.setfacl命令设置文件权限 setfacl -m u:user1:rw root.txt setfacl -m u:user2:rwx root.txt 2.getfacl命令 ...
- linux ACL权限规划:getfacl,setfacl使用
ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件 ...
- <实训|第十三天>linux中ACL权限控制以及磁盘配额,附编译属于自己的linux内核
[root@localhost~]#序言 首先讲讲昨天关于缩容失败,开不机的解决方法:ACL权限也算是一个很重要的知识点,不难,但是很实用:磁盘配额一般不需要自己弄,但是要懂得原理.剩下的就是编译属于 ...
- 五大权限:UGO权限、SetUID SetGID Sticky、ACL权限、chattr(文件系统级别的权限)、SELINUX
五大权限:UGO权限.SetUID SetGID Sticky.ACL权限.chattr(文件系统级别的权限).SELINUX ======================文件属性以及ugo权限= ...
- linux:ACL权限
ACL权限是为了防止权限不够用的情况,一般的权限有所有者.所属组.其他人这三种,当这三种满足不了我们的需求的时候就可以使用ACL权限: 比如:一个网络老师,给一个班的学员上课,他在linux的根目录下 ...
- Linux UGO和ACL权限管理
自主访问控制(Discretionary Access Control, DAC)是指对象(比如程序.文件.进程)的拥有者可以任意修改或者授予此对象相应的权限.Linux的UGO(User, Grou ...
- Linux系列教程(十六)——Linux权限管理之ACL权限
通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...
随机推荐
- 查看变更(git diff)
git diff命令 如果想要知道变更的具体内容,可以使用git diff命令.它被用来解决两个问题: 哪些变更还没有被暂存? 那些已暂存的变更正待提价? git diff在git status基础上 ...
- TensorFlow在Windows上的CPU版本和GPU版本的安装指南(亲测有效)
安装说明 平台:Window.Ubuntu.Mac等操作系统 版本:支持GPU版本和CPU版本 安装方式:pip方式.Anaconda方式 attention: 在Windows上目前支持python ...
- jQuery的一些基本的函数和用jQuery做一些动画操作
jQuery是对js的封装,因为js有一些不方便的地方.所以,jQuery才会去对js进行封装. jQuery对于标签元素的获取 $('div')或$('li') <!DOCTYPE html& ...
- “放到桌面”的Servlet实现
复习下Servlet下载文件, 当response把ContentType设置成application/xxxx的时候呢,浏览器会默认启动下载,而不是试图打开. 通过给httpHeader里面加入内容 ...
- MailKit系列之转发电子邮件
原文:http://www.it1352.com/429181.html 问题 我尝试通过MailKit访问一个IMAP账号,我设法下载邮件(作为的MimeMessage),并在某些时候我需要转发给其 ...
- Mark SDL2 Lazy Foo's Producations
重点 初学SDL2,此处为笔记.有错误还请指出. 13)When our SDL 2 application runs, the operating system needs to be able t ...
- 洛谷P4774 [NOI2018]屠龙勇士 [扩欧,中国剩余定理]
传送门 思路 首先可以发现打每条龙的攻击值显然是可以提前算出来的,拿multiset模拟一下即可. 一般情况 可以搞出这么一些式子: \[ atk_i\times x=a_i(\text{mod}\ ...
- selenium截图
文件结构 1.DateUtil.py # cncoding = utf-8 import time from datetime import datetime ''' 本文件主要用于获取当前的日期以及 ...
- kali linux 网络配置
/etc/init.d/networking restart service newworking restart ifdown eth0 ifup eth0 ifconfig down eth0 i ...
- hadoop mkdir: Cannot create directory /usr. Name node is in safe mode.
今天在hdfs上面创建文件夹的时候报了:org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name ...