Centos8_文件权限管理_重点不常用

文件的特殊权限

SUID:s出现在文件所有者x权限上(对应数字4)

  1. SUID只能用于二进制可执行文件,对目录无效;
  2. 执行者若具有该文件的x权限,则将具有文件所有者的权限
  3. 权限只有在文件执行时有效,执行完毕不再拥有所有者权限;

例:

[root@xuegod63 ~]# ll /usr/bin/less       

-rwxr-xr-x. 1 root root 192040 5月  11 2019 /usr/bin/less

[root@xuegod63 ~]# su - es

[es@xuegod63 ~]$ less /etc/shadow

/etc/shadow: 权限不够

[es@xuegod63 ~]$ su - root

密码:

[root@xuegod63 ~]# chmod u+s /usr/bin/less

[root@xuegod63 ~]# ll /usr/bin/less

-rwsr-xr-x. 1 root root 192040 5月  11 2019 /usr/bin/less

[root@xuegod63 ~]# su - es

[es@xuegod63 ~]$ less /etc/shadow

root:$6$bLdXTaHCvvdI75zR$W2kcXI2je3XVHwwV9EOFANl09wTjJuMGf.udCN9tw/iTLDylncPC2h79o8SO/yncmHq8uZ9xj6aP.yF1/7mYZ1:18479:0:99999:7:::

bin:*:18078:0:99999:7:::

daemon:*:18078:0:99999:7:::

SGID:s出现在文件所属组的x权限上(对应数字2)

  1. SGID和SUID不同,可以用于目录
  2. 使用者若有此目录的x,w权限,则可进入和修改此目录
  3. 在设置了 SGID 权限的目录下建立文件时,新创建的文件的所属组会,继承上级目录的所属组;

例:

[root@xuegod63 ~]# mkdir test

[root@xuegod63 ~]# ll -d test

drwxr-xr-x 2 root root 6 8月   6 15:24 test

[root@xuegod63 ~]# chmod g+s test

[root@xuegod63 ~]# !ll

ll -d test

drwxr-sr-x 2 root root 6 8月   6 15:24 test

[root@xuegod63 ~]# chown :bin test

[root@xuegod63 ~]# touch test/a.txt

[root@xuegod63 ~]# ll test/a.txt

-rw-r--r-- 1 root bin 0 8月   6 15:26 test/a.txt

 

Stickybit:t出现在文件其他用户的x权限上(对应数字1)

  1. 粘滞位权限是针对目录的,对文件无效,也叫防删除位
  2. 使用者在该目录下,仅自己和root可删除新建的目录或文件;

限定:只作用于目录

功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除。

[root@xuegod63 tmp]# mkdir aaa

[root@xuegod63 tmp]# ll  -d aaa

drwxr-xr-x 2 root root 6 8月   6 15:35 aaa         

[root@xuegod63 tmp]# chmod o+t aaa

[root@xuegod63 tmp]# ll -d aaa

drwxr-xr-t 2 root root 6 8月   6 15:35 aaa

[root@xuegod63 tmp]# su - es

[es@xuegod63 ~]$ rm -rf /tmp/aaa

rm: 无法删除'/tmp/aaa': 不允许的操作

[es@xuegod63 ~]$ exit

[root@xuegod63 tmp]# rm -rf aaa   #删除成功

 

文件扩展权限ACL

ACL(Access Control List):访问控制列表

ACL可以针对单一用户、单一文件或目录来进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助;

命令:

getfacl 用于查询

setfacl 用于设置文件的ACL规则,添加和删除组、用户的权限

•   -m     添加或者修改对象的acl实体

•   -x      删除对象的acl实体

•   -d     设置default acl

•   -b     删除所有扩展acl实体

例1:设置用户user1对文件a.txt拥有的rwx权限,user1不属于a.txt的所属主和组,user1 是 other。怎么做?

[root@xuegod63 ~]# useradd  user1

[root@xuegod63 ~]# getfacl /tmp/a.txt

getfacl: Removing leading '/' from absolute path names

# file: tmp/a.txt

# owner: root

# group: root

user::rw-

group::r--

mask::r--

other::r--

[root@xuegod63 ~]# setfacl -m u:user1:rwx /tmp/a.txt 

[root@xuegod63 ~]# getfacl /tmp/a.txt

getfacl: Removing leading '/' from absolute path names

# file: tmp/a.txt

# owner: root

# group: root

user::rw-

user:user1:rwx

group::r--

mask::rwx

other::r--

例2:给目录/opt/gr下所有文件都加扩展权限;

[root@xuegod63 opt]# setfacl -R -m u:user1:rw- gr          

[root@xuegod63 opt]# getfacl gr/test/            

# file: gr/test/

# owner: root

# group: root

user::rwx

user:user1:rw-

group::r-x

mask::rwx

other::r-x

 

[root@xuegod63 opt]# getfacl gr/

# file: gr/

# owner: root

# group: root

user::rwx

user:user1:rw-

group::r-x

mask::rwx

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页