系统特殊权限
系统特殊权限
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
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