码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2017-05-10 11:23:45      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:linux 中文件的特殊权限

每个人都有自己的梦想,我想把它写出来。

Linux文件系统上的特殊权限

 

SUID, SGID, Sticky粘之位

 

1 文件基本权限

r, w, x执行

 

user, group, other

 

2 安全上下文

前提:进程有属主和属组;文件有属主和属组;

(1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限;

(2) 启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组;

(3) 进程访问文件时的权限,取决于进程的发起者:

(a) 进程的发起者,同文件的属主:则应用文件属主权限;

(b) 进程的发起者,属于文件的属组;则应用文件属组权限;

(c) 应用文件“其它”权限;

 

3 SUID

(1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限;

(2) 启动为进程之后,其进程的属主为原程序文件的属主;

  一种提权机制(不安全)

技术分享

技术分享

权限设定:

chmod u+s FILE...

chmod u-s FILE...

 

4 SGID

默认情况下,用户创建文件时,其属组为此用户所属的基本组;

一旦某目录被设定了SGID,则对此目录任何一个有写权限的用户在此目录中创建的文件所属的组为此目录自身的属组;

技术分享

权限设定:

chmod g+s DIR...

chmod g-s DIR...

 

5 Sticky 粘之位

对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件;

tmp  /var/tmp  下的文件默认有sticky特殊权限

权限设定:

chmod o+t DIR...

chmod o-t DIR... 

技术分享

SUID SGID STICKY  对应数字表示

000 0

001 1  t

010 2   g

011 3 

100 4    s

101 5

110 6

111 7

 

chmod 4777 /tmp/a.txt

 

几个权限位映射:

SUID: user, 占据属主的执行权限位;

s: 属主原来就拥有x权限添加后显示小写s

S:属主原来没有x权限

SGID: group,  占据group的执行权限位;

s: group拥有x权限

Sgroup没有x权限

Sticky: other, 占据ohter的执行权限位;

t: other拥有x权限

Tother没有x权限

 

 

SUID:运行某程序时,相应进程的属主是程序文件的自身的属主,而不是启动者。2755

chmod u+s FILE u-s

如果FILE本身原来有执行权限,则SUID显示为s;否则显示S;

SGID:运行某程序时,相应进程的属组是程序文件的自身的属组,而不是启动者所属的基本组。3755

chmod g+s FILE

g-s FILE

父目录拥有SGID权限后,其子目录下任何用户创建的文件属组继承父目录属组(不再以用户的基本组做为文件的属组)。属组内用户可以编辑组内其他用户创建的文件。附加组。

sticky:公共目录,每个用户都可以创建文件,删除自己的文件,但不能删除别人的文件。 1755

chmod o+t FILE o-t 



本文出自 “12040214” 博客,请务必保留此出处http://12050214.blog.51cto.com/12040214/1923884

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

标签:linux 中文件的特殊权限

原文地址:http://12050214.blog.51cto.com/12040214/1923884

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!