文件特殊权限

SetUID
  SetUID的功能(类似Windows中的以管理员身份运行)
  只有可以执行的二进制程序才能设定SUID权限
  命令执行者要对该程序拥有x(执行)权限
  命令执行者在执行该程序时获得该程序文件属主的身份
  SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
  passwd命令拥有SetUID权限,所以普通用户可以修改自己的密码
  -rwsr-xr-x. 1 root root 30768 11月 24 2015 /usr/bin/passwd
  #s权限位于所有者
  cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容

设定SetUID的方法
  4代表SetUID
  chmod 4755 文件名
  #7:所有者 5:所属组 5:其他人权限
  chmod u+s 文件名
取消SetUID的方法
  chmod 755 文件名
  chmod u-s 文件名

危险的SetUID
  关键目录应严格控制写权限。比如“/”/usr”等
  用户的密码设置要严格遵守密码三原则
  对系统中默认应该具有 SetUID权限的文件作一列表,定时检査有没有这之外的文件被设置了SetUID权限


SetGID
  SetGID针对文件的作用
  只有可执行的二进制程序才能设置SGID权限
  命令执行者要对该程序拥有ⅹ(执行)权限
  命令执行在执行程序的时候,组身份升级为该程序文件的属组
  SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效

SetGID针对目录的作用
  普通用户必须对此目录拥有r和x权限,才能进入此目录
  普通用户在此目录中的有效组会变成此目录的属组
  若普通用户对此目录拥有w权限时,新建的文件的默认属组是这个目录的属组

设定SetGID
  2代表SetGID
  chmod 2755 文件名
  chmod g+s 文件名
  取消SetGID
  chmod 755 文件名
  chmod g-s 文件名


Sticky BIT
  SBIT粘着位作用
  粘着位目前只对目录有效
  普通用户对该目录拥有w和x权限,即普通用户可以在此目录拥有写入权限
  如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一但赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件

设置粘着位
  chmod 1755 目录名
  chmod 0+t 目录名
取消粘着位
  chmod 777 目录名
  chmod o-t 目录名

 

posted @ 2019-08-22 16:55  举头三尺有天晴  阅读(103)  评论(0编辑  收藏  举报