Linux setuid和setgid讲解

2022-10-29 16:22:48
内容摘要
新建一个组 family 做为公共组
  groupadd family
  新建两个用户shuai hongyan 密码设置
  useradd shaui
  useradd hongyan
  passwd shuai
  passwd hon
文章正文

新建一个组  family 做为公共组

  groupadd family

  新建两个用户shuai  hongyan  密码设置

  useradd shaui

  useradd hongyan

  passwd shuai

  passwd hongyan

  把这两个用户加入这两个组 内去

  usermod -G family shuai

  usrmod -G family hongyan

  在当前目录下新建一个目录share

  mkdir share

  把这个目录的拥有组  指定给 family

  chown :family share

  查看share的权限

  ll -d share

  用shuai 进去试试能不能写

  cd share

  touch shuai.a

  ll shuai.a  查看其文件的所属组 依然为shuai

  然后再为其设置为setgid

  chmod g+s share

  我们把目录的所有者指定给 family组

  chown :family share

  并为其设置w写权限 允许组内的用户 进行写权限  给实验营造一个环境

  chmod g+w share

  在没有指定 setgid 的情况下

  让shuai用户 进去建立一个文件  产看所属组

  touch shuai.b

  ll shuai.b

  让hongyan用户进去删除了试试

  rm shuai.b

  是可以删除的

  然后我们再为share建立stickty bit 权限

  chmod o+t share

  切换成  shuai 用户

  我们会发现 尽管有setgid 在 也已经无法删除别热的文件了啊

  然后设置gid 让他们再进去设置文件 看看所属组

  然后是可以删除的

  最后我们为这个文件设置stickty bit

  然后再用shuai 用户删除hongyan用户的文件 就提示错误了啊


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!