系统特殊权限

系统特殊权限

1.Linux****系统特殊权限

-rwsr-xr-x. 1 root root 54080 Nov 5 2016 /usr/bin/cat
 root⽤户执⾏cat,最终运⾏的身份是root
 bgx⽤户执⾏cat, 最终运⾏的身份是bgx
suid
 root⽤户执⾏,最终运⾏的身份是root
 bgx⽤户执⾏,最终运⾏的身份是root

如何设置特殊权限

⽤符号表示: setuid=u+s; setgid=g+s; sticky=o+t

⽤数值表示: setuid=4; setgid=2; sticky=1

image-20240806212713905

2.权限属性chattr

//创建⽂件并设置属性

[root@wing ~]# touch file_a file_i

[root@wing ~]# lsattr file_a file_i

---------------- file_a

---------------- file_i

//设置属性

[root@wing ~]# chattr +a file_a

[root@wing ~]# chattr +i file_i

[root@wing ~]# lsattr file_a file_i

-----a---------- file_a

----i----------- file_i

//a权限, ⽆法覆盖写⼊和删除⽂件

[root@wing ~]# echo "aa" > file_a

bash: file_a: Operation not permitted

[root@wing ~]# rm -f file_a

rm: cannot remove ‘file_a’: Operation not permitted

//a权限, 只能追加, 适⽤于⽇志⽂件

[root@wing ~]# echo "aa" >> file_a

//i权限, ⽆法写⼊, ⽆法删除

[root@wing ~]# echo "i" > file_i

bash: file_i: Permission denied

[root@wing ~]# echo "i" >> file_i

bash: file_i: Permission denied

[root@wing ~]# rm -f file_i

rm: cannot remove ‘file_i’: Operation not permitted

//解除限制

[root@tianyun ~]# chattr -a file100

[root@tianyun ~]# chattr -i file200

3.进程掩码umask

umask ⽤于控制系统权限, 默认系统权限较⼤, 需要靠Umask来变更权限

默认新建⽂件,系统默认最⼤权限为666

默认新建⽬录,系统默认最⼤权限是777

我们在新建⽂件和⽬录的默认权限会受到 umask 的影响, umask 表示要减掉的权限。

创建⽬录权限值为 777-umask

创建普通⽂件权限值为 644-umask

1.假设umask值为:022(所有位为偶数)

//⽂件的起始权限值

6 6 6 - 0 2 2 = 6 4 4

6 6 6 - 0 0 2 = 6 6 4

2.假设umask值为:045(其他⽤户组位为奇数)

//计算出来的权限。由于umask的最后⼀位数字是5,所以,在其他⽤户组位再加1。

6 6 6 - 0 4 5 = 6 2 1

3.默认⽬录权限计算⽅法

7 7 7 - 0 2 2 = 7 5 5
posted @ 2024-08-06 21:30  hhhaaa12138  阅读(10)  评论(0编辑  收藏  举报