特殊权限
Posted 酱油拌饭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特殊权限相关的知识,希望对你有一定的参考价值。
特殊权限
特殊权限介绍
#基本权限
r:读
w:写
x:执行
#特殊权限
s:setuid
s:setgid
t:sbit
特殊权限1:SetUID
#SetUID权限显示在文件的属主位上的执行权限位
[root@ltl ~]# ll /bin/passwd
-rwsr-xr-x. 1 root root 27856 Apr 1 2020 /bin/passwd
作用:普通用户使用有SetUID权限的文件或命令会以该文件的属主去执行
#SetUID的特性
# 1.原本属主位上如果有x权限,则SetUID为小写 s
# 2.原本属主位上如果没有x权限,则SetUID为大写 S
# 3.授权方式
u 方式授权
chmod u+s 文件名
数字权限授权
chmod 4xxx 文件名
SetUID权限的数字是4000
特殊权限2:SetGID
#权限位置在属组的执行位上以s字母的形式显示
# 1.原本属组位上如果有x权限,则SetGID为小写的 s
# 2.原本属组位上如果没有x权限,则SetGID为大写的 S
3.授权方式
g方式授权
chmod g+s 文件名
数字权限授权
chmod 2xxx 文件名
SetGID权限的数字是2000
#主要应用场景:文件共享
练习sgid: 创建三个用户,分别是zls,oldboy,yourname这些用户都属于oldboyedu组的成员。这些用户的密码都是123
1.要求以上用户和组可以在/home/oldboyedu目录里访问,创建,删除文件
2.其他用户一律不允许访问该目录
3.在该目录下新建的文件会自动属于oldboyedu组拥有
[root@ltl ~]# echo 123 oldboydu zls oldboy yourname |awk print "groupadd "$2" ; useradd "$3" -g "$2" ; useradd "$4" -g "$2" ; useradd "$5" -g "$2" ; echo "$1" |passwd --stdin "$3" ;echo "$1" |passwd --stdin "$4" ; echo "$1" | passwd --stdin "$5|bash
#看zls , oldboy ,yourname用户的属组
[root@ltl /home]# groups zls oldboy yourname
zls : oldboydu
oldboy : oldboydu
yourname : oldboydu
#修改oldboydu目录权限
[root@ltl ~]# chmod 2770 /home/oldboydu
#查看/home/oldboydu目录权限及属组
[root@ltl /home]# ll
drwxrws--- 2 root oldboydu 6 Apr 12 19:31 oldboydu
#zls用户测试
[zls@ltl ~]$ cd /home/oldboydu/
[zls@ltl oldboydu]$ ll
total 0
[zls@ltl oldboydu]$ touch zls
[zls@ltl oldboydu]$ ll
total 0
-rw-r--r-- 1 zls oldboydu 0 Apr 12 19:41 zls
#oldboy用户测试
[oldboy@ltl oldboydu]$ touch oldboy
[oldboy@ltl oldboydu]$ ll
total 0
-rw-r--r-- 1 oldboy oldboydu 0 Apr 12 19:44 oldboy
-rw-r--r-- 1 zls oldboydu 0 Apr 12 19:41 zls
#yourname用户测试
[yourname@ltl oldboydu]$ touch yourname
[yourname@ltl oldboydu]$ ll
total 0
-rw-r--r-- 1 oldboy oldboydu 0 Apr 12 19:44 oldboy
-rw-r--r-- 1 yourname oldboydu 0 Apr 12 19:45 yourname
-rw-r--r-- 1 zls oldboydu 0 Apr 12 19:41 zls
#除root外其他用户测试
[xwq@ltl ~]$ ll /home/oldboydu/
ls: cannot open directory /home/oldboydu/: Permission denied
特殊权限3:SBIT
#粘带位权限,在九位权限位的最后一位以字母t显示
其他用户权限位上有x权限:小写 t
其他用户权限位上没有x权限:大写 T
[zls@ltl ~]$ ll /tmp/ -d
drwxrwxrwt. 12 root root 4096 Apr 12 19:06 /tmp/
#粘带位权限作用及特性
# 1.带有粘滞位权限的目录下的所有文件,谁都可以读、写
# 2.带有粘滞位权限的目录下的文件只有属主能删除自己的文件,其他用户无法删除
# 3.带有粘滞位权限的目录,只有root能删除
#授权方式
o:方式授权
chmod o+t 文件名
数字权限授权
chmod 1xxx 文件名
SBIT权限的数字是1000
凌驾于root之上的权限
# 设置这个权限 chattr
i:只能查看文件内容,无法编辑
a:只能查看和追加文件内容,无法修改或覆盖源文件内容
+:设置,增加该权限
-:取消该权限
## 查看这个权限
lsattr 文件名
#主要场景:工作中,遇到root用户修改不了的文件,思考是不是该特殊权限
umask
# 查看当前系统默认的umask
[root@localhost ~]# umask 0022
# 修改系统默认的umask
[root@localhost ~]# umask xxx (阿拉伯数字)
计算方法:
目录使用777 - umask
文件使用666 - umask
如果umask的位数上有奇数
文件使用666 - umask 在奇数位上加1
用户家目录创建:777-077
#不用会设置,会查看,会计算即可,以后工作中可能用不到设置umask
思维导图
流程图
以上是关于特殊权限的主要内容,如果未能解决你的问题,请参考以下文章