其他分享
首页 > 其他分享> > 基础day17

基础day17

作者:互联网

特殊权限

特殊权限介绍

 # 基本权限
 r:读
 w:写
 x:执行
 ​
 # 特殊权限
 [root@localhost ~]# ll /bin/passwd
 -rwsr-xr-x. 1 root root 27856 Apr  1  2020 /bin/passwd
 ​
 [root@localhost ~]# ll /bin/write
 -rwxr-sr-x. 1 root tty 19544 Oct  1  2020 /bin/write
 ​
 [root@localhost ~]# ll /tmp/ -d
 drwxrwxrwt. 10 root root 195 Apr 12 11:46 /tmp/
 ​

特殊权限的类型

1).setUID

 # 1.普通用户可不可以修改密码
 可以,修改自己的密码,但密码要复杂
 ​
 # 2./etc/shadow文件的作用
 存储用户密码的文件
 ​
 # 3./etc/shadow文件的权限
 [root@localhost ~]# ll /etc/shadow
 ----------. 1 root root 685 Apr 11 15:29 /etc/shadow
 ​
 # 4.普通用户,是否可以修改/etc/shadow文件
 不可以,/etc/shadow文件,对于普通用户没有任何权限,所以不能读取,也不能写入内容
 ​
 # 5.那么普通用户,为什么可以修改密码
 1)使用了passwd这个命令
 2)passwd命令在属主权限位上,原本是x权限,变成了s权限
 3)s权限在属主权限位,又叫setUID权限,sUID
 4)作用:普通用户在使用有sUID权限的文件或命令时,会以该文件的属主身份去执行该命令
 ​

setUID特性

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

 

2)setGID

 [root@localhost ~]# ll /bin/write 
 -rwxr-sr-x. 1 root tty 19544 Oct  1  2020 /bin/write
 ​
 # 创建一个目录
 [root@localhost ~]# mkdir /tmp/lza
 # 赋予sgid权限
 [root@localhost ~]# chmod g+s /tmp/lza
 # 查看目录权限
 [root@localhost ~]# ll /tmp/lza/ -d
 drwxr-sr-x. 2 root root 6 Apr 12 18:03 /tmp/lza/
 # 使用root用户创建用户
 [root@localhost ~]# touch /tmp/lza/lza.txt
 # 查看文件
 [root@localhost ~]# ll /tmp/lza/lza.txt
 -rw-r--r--. 1 root root 0 Apr 12 18:08 /tmp/lza/lza.txt
 # 切换用户
 [root@localhost ~]# su - lizian
 [lizian@localhost ~]$
 # 创建文件
 [lizian@localhost ~]$ touch /tmp/lza/xxx
 touch: cannot touch ‘/tmp/lza/xxx’: Permission denied
 # 赋予目录777权限
 [root@localhost ~]# chmod 777 /tmp/lza/
 # 查看目录权限
 [root@localhost ~]# ll -d /tmp/lza/
 drwxrwsrwx. 2 root root 21 Apr 12 18:15 /tmp/lza/
 # 普通用户创建文件
 [lizian@localhost ~]$ touch /tmp/lza/lizian.txt
 # 查看权限
 [lizian@localhost ~]$ ll /tmp/lza/lizian.txt
 -rw-rw-r--. 1 lizian root 0 Apr 12 18:22 /tmp/lza/lizian.txt
 ​

setGID特性

 # 1.原本属组位上如果有x权限,则setGID为 s
 # 2.原本属组位上如果没有x权限,则setGID为 S
 # 3.授权方式
  - chmod g+s 文件名
  - chmod 2xxx 文件名
  # 4.setGID权限的数字是2000
 
  # 主要应用场景:文件共享
 

3)SBIT

 [root@localhost ~]# ll /tmp/ -d
 drwxrwxrwt. 10 root root 195 Apr 12 11:46 /tmp/
 ​
 # 作用
 临时文件存储目录

粘滞位权限作用特性

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

凌驾于root之上的权限

 # 设置这个权限
 chattr [选项]... 文件名
 i:只能查看文件内容,无法编辑
 a:只能查看和追加文件内容,无法修改或覆盖原文件内容
 ​
 +:设置,增加该权限
 -:取消该权限
 ​
 # 查看这个权限
 lsattr 文件名
 ​

umask

 # 作用
 通过umask可以计算出,文件或目录默认创建权限
 ​
 # 查看当前系统默认的umask
 [root@localhost ~]# umask
 0022
 ​
 # 修改系统默认的umask
 [root@localhost ~]# umask 025
 ​
 ​
 # 如果当前登录用户的UID大于199         用户的组名 = 用户的用户名
 if [ $UID-gt199 ]       &&     [ "`/usr/bin/id -gn`"="`/usr/bin/id -un`" ];
 then    
      umask 002
 else  
      umask 022
 ​
 # 计算方法
 目录使用777 - umask
 文件使用666 - umask
 ​
 如果umask的位数上有奇数
 文件使用666 - umask 在奇数位上加1
 ​

标签:tmp,umask,基础,day17,lza,权限,root,localhost
来源: https://www.cnblogs.com/LZA1218/p/16182513.html