特殊权限的概述


特殊权限的概述


# 查看文件数字权限的方式
tr:按字符替换
sed:按整体替换sed-i's#被替换的内容#想要替换的内容#g' 文件名
vim:按整体替换   :%s#被替换的内容#想要替换的内容#g

特殊权限的介绍

# 基本权限
r:可读
w:写入
x:执行

# 特殊权限
 ✓ 16:52:01 root@localhost.localdomain,10.0.0.158:~ # ll /bin/passwd 
-rwsr-xr-x. 1 root root 27856 Apr  1  2020 /bin/passwd

 ✓ 16:59:22 root@localhost.localdomain,10.0.0.158:~ # ll /bin/write 
-rwxr-sr-x. 1 root tty 19544 Feb  3  2021 /bin/write

 ✓ 16:59:51 root@localhost.localdomain,10.0.0.158:~ # ll /tmp/ -d
drwxrwxrwt. 11 root root 244 Apr 11 17:00 /tmp/


特殊权限1:SetUID


# 普通用户可不可以修改密码?
可以修改自己的密码

# /etc/shadow文件的作用
储存用户密码的文件

# /etc/shadow文件的权限
0 ✓ 17:00:18 root@localhost.localdomain,10.0.0.158:~ # ll /etc/shadow
----------. 1 root root 2392 Apr 10 16:16 /etc/shadow

# 普通用户是否可以修改/etc/shadow文件?
不可以,/etc/shadow文件对普通用户没有任何权限,所以不能读取,也不能写入内容

# 那么普通用户为什么可以修改密码?
1.因为使用的passwd命令
2.passwd命令在主权限位上,原本是x权限,变成了s权限
3.s权限在属主权限位,又叫做SetUID权限
4.作用:普通用户在使用有SUID权限的文件或命令时,会以该文件的属主身份去执行该命令

SetUID特性

# 1.原本属主的权限位上有x权限,则SetUID为x
# 2.原本属主的权限位上没有x权限,则SetUID为X
# 3.授权方式
   - chmod u+s 文件名
   - chmod 4xxx 文件名
# 4.SetUID权限是数字的4000

特殊权限2:SetGID

[root@localhost ~]# ll /bin/write
-rwxr-sr-x. 1 root tty 19624 Oct 312018 /bin/write
#创建一个目录
[root@db04 ~]# mkdir /tmp/test
#赋予sgid权限
[root@db04 ~]# chmod g+s /tmp/test/
#查看目录权限
[root@db04 ~]# ll /tmp/test/ 
-ddrwxr-sr-x 2 root root 40966月2116:26 /tmp/test/
#使用root用户创建文件
[root@db04 ~]# touch /tmp/test/root_file
#查看文件
[root@db04 ~]# ll /tmp/test/
总用量0
-rw-r--r--1 root root 06月2116:30 root_file
#切换用户
[root@db04 ~]# su - lamp
#创建文件
[lamp@db04 ~]$ touch /tmp/test/lamp_file
touch: cannot touch`/tmp/test/lamp_file': Permission denied
#赋予目录777权限
[root@db04 ~]# chmod 777 /tmp/test/
#查看目录权限
[root@db04 ~]# ll -d /tmp/test/
drwxrwsrwx 2 root root 40966月2116:26 /tmp/test/
#切换至普通用户
[root@db04 ~]# su - lamp
#创建文件
[lamp@db04 ~]$ touch /tmp/test/lamp_file
#查看权限
[lamp@db04 ~]$ ll /tmp/test/lamp_file
-rw-rw-r--1 lamp root 0 Jun 2116:34 /tmp/test/lamp_file
#讲test目录属主和属组改为oldboy
[root@db04 ~]# chown oldboy.oldboy /tmp/test/
#查看权限
[root@db04 ~]# ll -d /tmp/test/
drwxrwsrwx 2 oldboy oldboy 40966月2116:34 /tmp/test/
#切换用户
[root@db04 ~]# su - lamp
#创建文件
[lamp@db04 ~]$ touch /tmp/test/lamp_file2
#查看文件权限
[lamp@db04 ~]$ ll /tmp/test/lamp_file2
-rw-rw-r--1 lamp oldboy 0 Jun 2116:35 /tmp/test/lamp_file2

SetGID特性


# 1.原本属组位上如果有x权限,则SetGID为s
# 2.原本属组为上如果没有x权限,则SetGID为S
# 3.授权方式
  -chmod g+s 文件名
  -chmod 2xxx 文件名
# 4.SetGID权限数字是2000

# 主要应用场景
文件共享

练习gid
创建三个用户,分别是zls,oldboy,yourname这些用户都属于oldboyedu组的成员。这些用户的密码都是123
1.要求以上用户和组可以在/home/oldboyedu目录里访问,创建,删除文件
2.其他用户一律不允许访问该目录
3.在该目录下新建的文件会自动属于oldboyedu组拥有

特殊权限3:SBIT

 ✓ 17:23:52 root@localhost.localdomain,10.0.0.158:~ # ll /tmp/ -d
drwxrwxrwt. 12 root root 256 Apr 12 17:22 /tmp/

沾滞位权限作用特性

#1.带有粘滞位权限的目录下的所有文件,谁都可以读、写
#2.带有粘滞位权限的目录下的文件只有属主能删除自己的文件,其他用户无法删除
#3.带有粘滞位权限的目录,只有root能删除
#4.授权方式
  -chmod 0+t 文件名
  -chmod 1xxx 文件名
#5.SBIT权限的数字是1000
#6.其他用户权限位上有x权限:t 其他用户权限位上没有x权限:T

凌驾root权限之上的文件


# 设置这个权限
chattr
i:只能查看文件内容,无法编辑
a:只能查看和追加文件内容,无法修改或覆盖源文件内容

+:设置增加该权限
-:取消该权限

# 查看这个权限
lsattr 文件名

umask


# 查看当前系统默认的umask
  0 ✓ 17:45:08 root@localhost.localdomain,10.0.0.158:~ # umask 
0022

# 修改系统的umask
 0 ✓ 17:45:08 root@localhost.localdomain,10.0.0.158:~ # umask 255
 
 计算方法:
 目录使用777-umask
 文件使用666-umask
 
 # 如果umask的位数上有奇数
 文件使用666-umask 在奇数上加1

总结

# 1.三种特殊权限
1)SUID
   -作用
   -特性
   -授权方法
   -数字
 2)SGID
   -作用
   -特性
   -授权方法
   -数字
 3)SBI
   T-作用
   -特性
   -授权方法
   -数字
# 2.凌驾于root之上的权限
i
a
查看 lsattr
设置 chattr
主要场景:以后工作中,如果遇到root用户修改不了的文件,第一反应特殊权限
# 3.umask
不用会设置,这辈子都用不到设置umask
会查看,会计算即可
用户家目录:077

思维导图


posted @ 2022-04-12 18:13  hjx、贤  阅读(147)  评论(0)    收藏  举报