一.ACL访问控制权限
系统的基本权限是对文件所有者、所属组或者其他账户进行控制的,无法针对某个单独账户进行控制,所以有了ACL访问控制权限,使用ACL可以针对单一账户进行访问控制权限。
linux系统使用getfacl查看文档ACL权限,使用setfacl设置文档的ACL权限
1.1 getfacl:查看文档的ACL权限
语法:getfacl 文件/目录
[root@localhost xiaohong]# getfacl messages #看不见隐藏的权限
# file: messages
# owner: root
# group: root
user::rw-
group::---
other::---
第一行 文件或目录的名称
第二行 文件所有者
第三行 文件所属组
第四行 为suid,sgid,sticky权限的标识符
第五行 文件所有者权限
第六行 ACL添加的对应账户访问控制权限
第七行 文件所属组权限
第八行 ACL添加的对应组账户访问控制权限
第九行 权限掩码行
第十行 其他用户权限
其中五、七、十都为系统基本权限信息
1.2 strefacl:设置文档控制列表
语法:setfacl [选项] [{-m | -x} acl条目] 文件或目录
选项:
-b 删除所有附加的acl条目
-k 删除默认的acl
-m 添加acl条目
-x 删除指定的acl条目
-R 递归处理子文件与子目录
[root@localhost /]# touch file1
[root@localhost /]# ll file1
-rw-r--r--. 1 root root 0 Jul 15 02:25 file1
[xiaohong@localhost /]$ ll
total 24
lrwxrwxrwx. 1 root root 7 Apr 23 2020 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 May 31 04:09 boot
drwxr-xr-x. 20 root root 3120 Jul 15 01:46 dev
drwxr-xr-x. 81 root root 8192 Jul 15 01:46 etc
-rw-r--r--. 1 root root 0 Jul 15 02:25 file1
[xiaohong@localhost /]$ vi file1 #里面东西不管咋样都不能改
[root@localhost /]# setfacl -m u:xiaohong:rw file1
[root@localhost /]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:xiaohong:rw-
group::r--
mask::rw-
other::r--
[xiaohong@localhost /]$ vi file1
[xiaohong@localhost /]$ cat file1
dgsgtdrhygjhnGUJYAGDLVHJK
[xiaohong@localhost /]$ ll file1 +代表有其他权限
-rw-rw-r--+ 1 root root 26 Jul 15 02:35 file1
[root@localhost /]# setfacl -m g:wyy:rw file1 #组用户有权限了,用户就有权限
[root@localhost /]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:xiaohong:rw-
group::r--
group:wyy:rw-
mask::rw-
other::r--
[root@localhost /]# setfacl -b file1
[root@localhost /]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
group::r--
other::r--
二.权限掩码
控制创建文件的权限
查看权限掩码:umask(以数字形式显示) umask -S(以字符形式显示)
当前面一位为2和4权限就做强制位,1的权限时冒险位,2代表GID,4代表UID
修改权限掩码:umask 022(默认)
普通文件的权限属性:666 - 022 = 644(本身权限)
目录文件的权限属性:777 - 022 = 755
[root@localhost /]# umask 264
[root@localhost /]# umask
0264
[root@localhost /]# touch 111
[root@localhost /]# mkdir 222
[root@localhost /]# ll -th
total 28K
dr-x--x-wx. 2 root root 6 Jul 15 03:24 222
-r------w-. 1 root root 0 Jul 15 03:23 111
#file的权限666-264=402,目录的权限是777-264=513
[root@localhost /]# umask 022 #记得要改回来
补充:
192.168.32.12/32 32表示地址本身,主机位
192.168.32.12/24 24代表网段