Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)

一.文件的默认权限

1.如果不加以修改,Linux中新建一个文件以及目录的默认权限是:
Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)_第1张图片
对于目录,默认权限=777-umask
对于文件,默认权限=666-umask(文件默认无执行权限)
2.uamsk的修改

vim /etc/bashrc     71行是普通用户的更改,73是超级用户的更改
vim /etc/profile    60行是普通用户的更改,62是超级用户的更改

source /etc/bashrc      ##刷新bash配置
source /etc/profile     ##刷新系统配置

二.特殊权限(stickyid/sgid/suid)

stickyid    ###强制位
o+t         ###之针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除
t=1
chmod o+t directroy
chmod 1777 directory

sgid        ###粘制位
g+s         ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
chmod g+s file|directory
chmod 2777 file|directory


suid        ###冒险位
u+s         ###针对文件,文件记录动作在执行时是以文件所有人身份执行的,与是谁发起的无关
chmod u+s file
chmod 4777 file

三.细部权限规划

1.什么是ACL(Access Control list权限列表)
对文件的权限进行附加说明的权限设定方式
2.ACL提供传统的owner/group/other的read/write/execute之外的细部权限设定。(可以针对单一的使用者,目录等等)
3.如何查看权限列表:

[root@aclhost mnt]# ls -l file
-rw-r--r--. 1 root root 0 Nov  7 09:14 file
      |
如果此位为“.”,代表这位上没有权限列表
如果此位为“+”,代表权限权限列表存在

Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)_第2张图片

[root@aclhost mnt]# getfacl file 
# file: file        ##文件名称
# owner: root       ##文件所有人
# group: root       ##文件所有组
user::rw-           ##所有人权限
user:student:rw-    ##特定用户权限
group::r--      ##所有组权限
mask::rw-       ##特定用户生效的最大权限
other::r--      ##其他人权限

4.1 如何设定ACL权限:

setfacl

setfacl -m ::权限  filename    ##设定acl
setfacl -x :       filename    ##去除某个用户或者组的acl
setfacl -b                  filename    ##删除文件上的权限列表

Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)_第3张图片

4.2 ACL默认权限

默认权限针对目录使用,是让目录中所有新建文件都继承此权限,这个权限对目录本身不生效,并且不会影响目录中已经存在的文件

setfacl -m d:::rwx   directory   ##设定默认权限
setfacl -x  d::      directory   ##撤销目录中的某条默认权限

Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)_第4张图片

Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)_第5张图片
4.3 mask是什么东西?
有效权限:用户or组所设置的权限必须要存在于mask的权限设置范围内才会生效。
Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)_第6张图片

5.在比如rhel6以及之前的版本中,用户建立的分区时不支持acl的,如果需要,必须加载acl参数

mount -o remount,acl    设备
vim /etc/fstab
设备  挂载点 类型  defaults,acl    0 0

5.1查看文件系统是否支持ACL
xfs文件系统已经默认/强制开启了ACL,不用在mount时增加参数acl,在fstab加acl参数时会报错(acl是不识别选项)
Linux文件默认权限(umask)的修改/特殊权限/细部权限规划(ACL)_第7张图片
(同步文件系统操作)

ext系统可以使用

dumpe2fs -h 查看acl是否开启

你可能感兴趣的:(linux系统,//【操作系统】)