linux 上特殊的权限位

通常我们文件一般三种权限

  • 名称: 读、写、执行
  • 标识: r、w、x
  • 二进制:4、2、1
特殊权限 也有三种
  • 名称: setuid、setgid、粘连位
  • 标识: s、s、t
  • 二进制: 4、2、1

setuid

  • 场景 :让普通用户执行文件所有者执行 例如 密码修改 文件所属者是root
  • 要求: 文件必须只有执行权限
ls -l /bin/passwd
-rwsr-xr-x. 1 root root 27856 May  5  2014 /bin/passwd

// 原来的x 被s 占据

setgid

  • 场景 :让目录创建的文件 属于父目录的所在组的权限 例如 文件共享功能
  • 要求: 文件必须只有执行权限
cd /tmp/ && mkdir testdir && chmod -R g+s testdir/ &&  ll -d testdir/
cd /tmp/ && mkdir testdir && chmod -R g+s testdir/ &&  ll -d testdir/
drwxrwsr-x 2 safm safm 4096 Aug 20 11:21 testdir/

// 原来的x 被s 占据

sticky

  • 场景 目录内的文件只有文件所有者才可以删除、移动 例如:/tmp 目录 只能删除创建自己的文件
  • 要求: 文件必须只有执行权限
 ls -ld /tmp
drwxrwxrwt. 11 root root 4096 Aug 20 10:44 /tmp

t就是粘连位
posted @ 2022-08-20 11:24  vx_guanchaoguo0  阅读(52)  评论(0编辑  收藏  举报