linux中除了常见的读(r)、写(w)、执行(x)权限以外,还有3个特殊的权限,分别是setuid、setgid和stick bit

1、setuid、setgid

先看个实例,查看你的/usr/bin/passwd 与/etc/passwd文件的权限

[root@MyLinux ~]# ls -l /usr/bin/passwd /etc/passwd-rw-r--r-- 1 root root  1549 08-19 13:54 /etc/passwd-rwsr-xr-x 1 root root 22984 2007-01-07 /usr/bin/passwd

众所周知,/etc/passwd文件存放的各个用户的账号与密码信息,/usr/bin/passwd是执行修改和查看此文件的程序,但从权限上看,/etc/passwd仅有root权限的写(w)权,可实际上每个用户都可以通过/usr/bin/passwd命令去修改这个文件,于是这里就涉及了linux里的特殊权限setuid,正如-rwsr-xr-x中的s

setuid就是:让普通用户拥有可以执行“只有root权限才能执行”的特殊权限,setgid同理指”组“

作为普通用户是没有权限修改/etc/passwd文件的,但给/usr/bin/passwd以setuid权限后,普通用户就可以通过执行passwd命令,临时的拥有root权限,去修改/etc/passwd文件了

2、stick bit (粘贴位)

再看个实例,查看你的/tmp目录的权限

[root@MyLinux ~]# ls -dl /tmpdrwxrwxrwt 6 root root 4096 08-22 11:37 /tmp

tmp目录是所有用户共有的临时文件夹,所有用户都拥有读写权限,这就必然出现一个问题,A用户在/tmp里创建了文件a.file,此时B用户看了不爽,在/tmp里把它给删了(因为拥有读写权限),那肯定是不行的。实际上是不会发生这种情况,因为有特殊权限stick bit(粘贴位)权限,正如drwxrwxrwt中的最后一个t

stick bit (粘贴位)就是:除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录

也就是说,在/tmp目录中,只有文件的拥有者和root才能对其进行修改和删除,其他用户则不行,避免了上面所说的问题产生。用途一般是把一个文件夹的的权限都打开,然后来共享文件,象/tmp目录一样。

3、如何设置以上特殊权限
      setuid:chmod u+s xxx

setgid: chmod g+s xxx

stick bit : chmod o+t xxx

或者使用八进制方式,在原先的数字前加一个数字,三个权限所代表的进制数与一般权限的方式类似,如下:

suid   guid    stick bit

1        1          1

所以:suid的二进制串为:100,换算十进制为:4

guid的二进制串为:010,换算:2

stick bit 二进制串:001,换算:1

于是也可以这样设:setuid:chmod 4755 xxx

setgid:chmod 2755 xxx

stick bit:chmod 1755 xxx

最后,在一些文件设置了特殊权限后,字母不是小写的s或者t,而是大写的S和T,那代表此文件的特殊权限没有生效,是因为你尚未给它对应用户的x权限

转自:http://www.cnblogs.com/huangzhen/archive/2011/08/22/2149300.html

【Linux】文件特殊权限 SUID/SGID/Sticky Bit相关推荐

  1. Linux文件系统上的特殊权限      SUID, SGID, Sticky(粘之位)

    每个人都有自己的梦想,我想把它写出来. Linux文件系统上的特殊权限 SUID, SGID, Sticky(粘之位) 1 文件基本权限 r读, w写, x执行 user, group, other ...

  2. 文件的特殊权限:suid sgid sticky

    一.文件的特殊权限:suid     展示于文件属主的执行权限位:     如果属主本来有执行权限,则展示为s:否则,展示为S; 功用:对于一个可执行文件来讲,任何用户运行此程序为进程时,进程的属主不 ...

  3. Linux 文件特殊权限 SUID、SGID 与 SBIT

    Linux 使用 9 个权限位来标识文件权限,三大权限分别是 r.w.x(读.写.执行).除此之外,还有特殊权限 SUID,SGID,SBIT. 1.SUID SUID(Set User ID)使用小 ...

  4. linux suid权限,Linux 学习:文件特殊权限SUID, SGID, SBIT

    本次记录Linux特殊权限SUID.SGID.SBIT相关知识及使用实例等. 由于SUID和SGID涉及到系统安全,所以对它们知识点的掌握尤为重要.关于文件权限的表示方法和解析 SUID是Set Us ...

  5. linux的权限管理以及特殊权限SUID,SGID,Sticky

    一切皆文件是linux重要的哲学思想之一,用户通过帐号密码登录系统以获得系统的使用权,在系统内部是通过UID来唯一标识一个用户,那么一个用户是否可以去访问或者使用某个文件资源,就取决于该用户是否有对应 ...

  6. LINUX--特殊权限SUID,SGID,Sticky

    SUID:   运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者 SGID:   运行某程序时,相应进程的属组是程序文件自身的属组,而不说启动者的属组 Sticky:    在一个公共目 ...

  7. 特殊权限:SUID,SGID,Sticky

    特殊权限 passwd:s SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者:     chmod u+s FILE     chmod u-s FILE         如 ...

  8. linux基础2-cd、mkdir、touch、umask、chattr、lsattr、SUID/SGID/Sticky Bit

    一 cd : . 代表当前目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表[目前用户身份]所在的自家目录 与cd效果相同 ~account 代表 account 这个用户的自家家目录 二m ...

  9. Linux文件的权限[srwxr-xr-x]

    一.UNIX下关于文件权限的表示方法和解析 UNIX下关于文件权限的表示方法和解析 SUID 是 Set User ID, SGID 是 Set Group ID的意思. UNIX下可以用ls -l ...

最新文章

  1. AI一分钟|许家印抄底FF初见成效,FF91量产在望;苹果新专利:Siri将能识别用户身份...
  2. 网络不通 从“本地连接”中找问题
  3. java 调用word插件_java一键生成word操作,比poi简单
  4. Netty源码分析--NIO(一)
  5. BundleFusion代码框架讲解
  6. 国外persona用户画像_使用Mozilla Persona验证用户的指南
  7. eclipse导入项目中文乱码
  8. 基于Websocket草案10协议的升级及基于Netty的握手实现
  9. Android 系统(139)---Android 解压和重新打包system.img
  10. linux查看history及操作时间,linux下查询history操作时间的方法
  11. redis运行状态图形化监控工具 — RedisLive
  12. Photoshop插件-证件照-白红蓝底-PS插件-脚本开发
  13. H264BSAnalyzer 使用方法
  14. 普通的dub的sdl配置
  15. 电脑开机后实现自动开启移动热点,再也不用担心没流量了
  16. 前后端分离的文件上传,上传zip或者rar压缩包(vue+springboot)。
  17. 乐聊----java界面聊天室
  18. kd-tree实现KNN
  19. error: (-5:Bad argument) image is empty or has incorrect depth (!=CV_8U) in function ‘cv::SIFT_Impl:
  20. 三、与Fluent的第一次邂逅

热门文章

  1. Hibernate二级缓存详解
  2. JavaScript的replace方法与正则表达式结合应用讲解
  3. python文字冒险游戏_模拟射击文字类游戏(Python)
  4. 域名判断真实ip地址
  5. 个人开发者微信支付和支付宝支付
  6. Xamarin图表开发基础教程(13)OxyPlot框架支持的其它图表
  7. SQLite中的运算符表达式
  8. 网站截图工具EyeWitness
  9. iOS 11开发教程(六)iOS11Main.storyboard文件编辑界面
  10. 文科生自学python要多久_怎么自学python,大概要多久?