linux系统一切皆文件,针对文件或文件夹的权限是很重要的。
文件或文件夹的权限
权限分为2组:
- 第一组为设置权限
- rwx r-- r-- .
类型 用户 用户组 其他用户 ACL控制
- 第二组为使用权限
root root 隐含
用户 用户组 其他用户
常见的类型
- – 代表文件
- d 代表文件夹
- b 块设备
- s 链接文件(类似快捷键)
RWX:读、写、执行(文件夹代表进入)
- 针对的三类用户设置,第一用户本身,第二用户组成员、第三其他任何用户(系统上的用户)
- 为了方便配置权限,把RWX用数字代表就是4=读 2=写 1=执行加起来就是7,当然还有一种方式是字母代表,会一种即可
. :没有设置ACL(+代表设置了ACL)
- 精细化权限需求,由于针对三种类型是固定的,这样就无法满足一些个性化需求,比如特定用户特定权限
设置权限
命令:chmod 【参数】文件/文件夹
- -R 代表递归权限(文件夹使用,可以使文件夹内文件全部配置相应权限)
chmod 741 文件
用户权限:rwx(全部权限)
用户组权限:rw-(读、写)
其他用户权限:--x(执行)
设置使用者权限
也就是设置用户和用户组(见之前文章)
ACL权限
ACL的权限是对基础权限(ugo)的附加,关系是互相的
默认不配置ACL情况下他们互相是映射关系
几个重点概念:
mask
- 限制用户或用户组的最大权限(用户/用户组进行mask与运算,也就是2边都有才算真)
- mask默认权限为group class权限(2者关系互相的,修改一个另一个也修改)
- 对 owner 和 other 的权限是没有任何影响
other - 只是默认映射ugo,无法设置其他用户中再指定用户(想想也没必要)
总结:
mask设置rwx,具体权限由u/g匹配
other设置- - -,因为使用ACL权限就是为了权限的精细控制,不可能还保留其他用户权限
group class 也就可以单独配置权限,g::rw-,不会受到mask影响
设置ACL命令:setfacl 【参数】【权限】 文件/文件夹(多用户或组逗号隔开)
setfacl -m u:test:r,g:test1:w,m::rwx,o::--- 20200614
常用参数:
-m 配置acl权限
-x 删除acl权限
-b 删除all
-R 递归权限(文件夹使用)
权限格式:u/g:U/G:rwx (类型:使用者:权限)
u代表类型为用户,g代表类型为用户组
U具体的用户名,G具体的用户组名
m类型为mask
o类型为other
查看权限命令:getfacl 【参数】文件/文件夹
getfacl 20200614
ACL参考:点击