位置:海鸟网 > IT > linux/Unix >

Linux setuid和setgid讲解

  新建一个组 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用户的文件 就提示错误了啊