您的位置:首页 > 运维架构 > Linux

Linux命令学习笔记(3)——理解SUID,SGID,stick

2017-03-01 09:32 363 查看
http://www.newwhy.com/2010/0915/15015.html

了解这三个特殊访问位前先了解Linux文件访问特权位:

  

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

 

 

 

 

SUID

SGID

sticky

r

w

x

r

w

x

r

w

x

文件类型位

特殊访问位

拥有者特权位

同组特权位

其他用户特权位

 

 

10. SUID(set-user-ID)位

    SUID位的作用:若文件F设置SUID位为1,文件F的拥有者是用户A,而用户B拥有文件F的执行权限,则当用户B执行文件F时就以文件拥有者(用户A)的权限执行。

    SUID位的典型应用:修改Linux用户密码。Linux用户密码加密后存储在/etc/passwd文件中,用户使用passwd命令修改密码。而修改/etc/passwd文件需要root权限, 如下图:

 

heaad@ubuntu:~$ ls -l /etc/passwd

-rw-r--r-- 1 root root 1672 2010-04-30 03:22 /etc/passwd

 

 

那么普通用户是如何修改自己的密码的呢?答案在/usr/bin/passwd文件中,如下图:

heaad@ubuntu:~$ ls -l /usr/bin/passwd

-rwsr-xr-x 1 root root 37140 2010-01-26 09:09 /usr/bin/passwd

 

passwd命令的所有者特权位中的x变成了s,表示passwd文件设定了SUID特权位。那么其他用户执行passwd命令时将获得passwd文件的所有者(root)的权限,于是就有权限修改/etc/passwd文件了。

 

设置SUID位:使用如下命令设置SUID位:

$ sudo chmod 4xxx file



$ sudo chmod u+s file

其中的4xxx中的4是因为SUID位在特殊访问位中的第三位。

执行完上面的两条命令中的其中一条后,file文件的权限可能变成了rwsr-xr-x

    若文件所有者也没有该文件的执行权限,则上面的两条命令可能使file的访问权限位变成了rwSr--r--,其中的S是大写的

 

11. SGID(set-group-ID)位

    作用:SGID与SUID类似,但它是使执行的线程拥有所在组的权限。

    设置方式:

$ sudo chmod 2xxx file



$ sudo chmod g+s file

    执行完以上其中一条命令后,文件file的访问权限可能会变成rwxr-sr-x 。

 

12. sticky位

    作用:若目录A设置了sticky位,则除了目录A的所有者和root用户外,其他用户均不能删除或重命名目录A下的文件。

    设置方法:

$ sudo chmod +t file



$ sudo chmod 1xxx file

执行完以上其中一条命令,文件的访问权限位可能被改变为rwxr-xr-t 。若文件所有者也没有执行权限,则访问权限位可能会变成rw-r--r-T 。

 

参考:《Linux:The Textbook》


<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

阅读(88) | 评论(0) | 转发(0) |

0
上一篇: 一个扫雷小游戏(高手请指教)

下一篇:Linux禁止单用户模式(single)来增强系统安全

相关热门文章
欢迎天涯学习在ChinaUnix博客...

Win10+Qt5.6+OpenCV3.1__相关...

Qt学习笔记---信号与槽...

MyBatis 入门(五)--分页查询(...

APP开发流程,你知道多少...

A sample .exrc file for vi e...

IBM System p5 服务器 HACMP ...

游标的特征

DB2 9 应用开发(733 考试)认...

busybox的httpd使用CGI脚本(Bu...

linux dhcp peizhi roc

关于Unix文件的软链接

求教这个命令什么意思,我是新...

sed -e "/grep/d" 是什么意思...

谁能够帮我解决LINUX 2.6 10...

给主人留下些什么吧!~~

评论热议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: