以前对于文件管理的认识只限于UGO的管理,对于特殊权限的学习还是一知半解。重新学习了一遍,我自己理解的东东记录一下。

首先,列一下SUID、SGID、Sticy Bit所代表的权限数值。就好像rwx分别对应4,2,1一样,SUID、SGID、Sticy Bit分别对应的数值也是4、2、1。

权限对应的数值
SUID 4
SGID 2
Sticky Bit 1
r 4
w 2
x 1
   

为了下面的例子做准备,现在假设有一个文件a,权限为 -rw-rw-r--,对应的数值为664

一、SUID

全称:Set UID

对象:仅用于设置二进制文件的特殊权限

用途:用于开放二进制文件的执行权限。当用户执行文件a的时候,执行过程中暂时获得了文件a所属用户的权限。简单说,假如文件a的所有者是root,但是文件设置了SUID,那么其它用户也可以执行这个文件。

例子:/usr/bin/passwd

设置方法:chmod 4664 a

设置完成后文件a权限为:-rwSrw-r--

(现在我也知道为什么每个用户的umask值为四位数了,如果你不知道umask是什么赶紧google一下吧^_^)

二、SGID

全称:Set GID

对象:用于设置文件和目录的特殊权限

用途:

文件:如果该文件是二进制文件的话,其他用户执行该文件的时候会以文件所属用户组的神

目录:在该目录下建立的文件或目录都会自动继承该目录的用户组

设置方式:chmod 2664 a

设置完成后文件a权限为:-rw-rwSr--

三、Sticky Bit

全称:Set UID

对象:只用于设置目录的特殊权限

用途:在设置了Sticky Bit权限的目录下建立的文件只有文件的拥有者和root能删除。

设置方式:chmod 1664 a

设置完成后文件a权限为:-rw-rw-r-t

----------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------

在测试上面个属性的时候发现一个问题总结一下。

同属一个用户组的两个用户A和用户B,给予用户A的家目录rwx权限以便用户B能够进入。

使用用户B在用户A的家目录下创建文件test,并将文件的属性设置为----rwx---,也就是只有用户组有所有权限。

这样就会出现:用户B不能修改文件test,但是用户A却能够修改。

以上实验的出两个结论:

1.如果一个文件属于一个用户组,并对用户组开放所有权限,那么该用户组下的所有用户都可以借助用户组的权限访问该文件。

2.如果一个文件的所属用户将自身的权限全部清楚,但是组的权限全部开放,那么文件的所属用户仍不能访问该文件。因为在操作文件是系统参考了当前用户对目标文件的执行权。

最新文章

  1. ios app的版本号
  2. [ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证
  3. NHibernate 中删除数据的几种方法
  4. POJ 3761 Bubble Sort 快速幂取模+组合数学
  5. 评论 ”[实例] 设计基于JQM的WebApp“
  6. 凸优化简介 Convex Optimization Overview
  7. javascript格式化指定的日期对象
  8. RAID磁盘阵列0、1、5、10
  9. 初学Pexpect
  10. 【HDU 5572 An Easy Physics Problem】计算几何基础
  11. Android利用ViewFlipper实现屏幕切换动画效果
  12. 谈一谈JDK8的函数式编程 (一)
  13. Angular 4+ Http
  14. Tomcat安装、配置和部署笔记
  15. css链接link
  16. tf.name_scope()和tf.variable_scope() (转)
  17. Yarn和Mesos:资源管理调度平台
  18. python处理excel(二):写
  19. 完美解决VC++6.0与Visio/office不兼容问题!!!
  20. PairRDD中算子combineByKey图解

热门文章

  1. OD 实验(十四) - 内嵌补丁
  2. OD 实验(五) - 对 PE 结构的简单分析
  3. Hibernate的HQL中in参数设置
  4. Linux命令详解1--文件和目录管理之文件查找和比较
  5. 在 Golang 中使用 Protobuf
  6. linux下使用gtest框架进行c/c++单元测试
  7. 一张图片优化5k带来的带宽成本及其前端页面的优化方法
  8. vim的vim-addons的问题
  9. CloudStack tomcat集成方式分析
  10. Ubuntu14.04下opencv卸载与重装