Linux 特殊权限位
特殊权限位
LINUX 基本权限有9位但是还有三位特殊权限。
suid |
s(有x权限) |
S(没有x权限) |
4 |
在用户权限的第三位 |
sgid |
s(有x权限) |
S(没有x权限) |
2 |
在用户组权限的第三位 |
sticky |
t(有x权限) |
T(没有x权限) |
1 |
其他用户权限的第三位 |
1 setuid
对应权限数字4.
Setuid可以让普通用户在执行某一个命令拥有这个命令对应用户的权限。
1)用户或属主对应的第三位权限(x位)上如果有s就表示suid权限。当这个文件有x 权限的时候显示s,反之为S。
2)Setuid可以让普通用户在执行某一个命令拥有这个命令对应用户的权限。
3)如果希望oldboy用户能够删除本来无权删除的文件
a sudo给oldboy授权rm。
b 给rm命令设置suid
c 设置上级目录权限
4)suid修改的是执行的命令passwd,而不是处理的目标文件/etc/shadow
5)仅对二进制命令程序有效,不能用在shell等类似脚本文件上。
6)二进制命令程序需要有可执行权限x配合。
7)suid权限仅在程序命令执行过程中有效。
8)执行suid命令的任意系统用户都可以获得该命令程序在执行期间对应的拥有者的所有权。
9)suid双刃剑,是一个比较危险的功能,对系统安全有一定的威胁,系统suid的无用的suid权利(安全优化)。
2 setgid
对应权限数字2.
1 suid是针对二进制文件,而sgid既可以针对文件也可以针对目录设置。
2 sgid是针对用户组权限位的。
1)对文件来说
1 sgid仅对二进制命令程序有效。
2 二进制命令或程序需要有可执行权限x。
3 执行命令的任意用户可以获得该命令程序执行期间所属组的权限。
2)对于目录
1 linxu里默认情况所有用户创建文件,默认用户和组是自身。
2 sgid可以让用户在此目录下创建的文件和目录,具有和此目录相同的用户组设置。
3 sticky
对一个文件设置了sticky-bit之后,尽管其他用户有写权限,也必须由属主执行删除、移动等操作。
对一个目录设置了sticky-bit之后,存放在该目录的文件仅准许其属主执行删除、移动等操作。
一般多用于/tmp。
4 特殊权限总结
Linux 特殊权限位的更多相关文章
- linux文件权限位SUID,SGID,sticky的设置理解
SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来 执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超 ...
- linux特殊权限位suid
特殊权限位基本说明(了解): linux系统基本权限位为9位权限,但还有额外3位权限位,共12位权限: suid s(x) S 4 用户对应的权限位(用户对应的3位 ...
- Linux特殊权限位suid、sgid深度详细及实践
特殊权限位基本说明: Linux系统基本权限位为9位权限,但还有额外3位权限位,共12位权限: suid s(有x) S 4 用户对应的权限位(用户对应的3位上) sgid ...
- Linux特殊权限位
SUID 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者(启动者临时获得文件属主的权限) chmod u+s file chmod u-s file SGID 运行某程 ...
- Linux 特殊权限位简介
suid.guid suid 针对二进制命令或者程序,让其拥有root或者属主权限执行 一.setsuid : chmod 4755 二进制命令或者程序 chmod u+s 二进制命令或者程序 示 ...
- 5.Linux文件权限
Linux用户类别 root:这是系统特权用户类,他们都有访问root登录账号的权限 owner:这是实际拥有文件的用户 group:这是共享文件的组访问权的用户类的用户组名称 world:这是不属于 ...
- Linux 用户与组的基本操作及文件权限位的设置方法
用户的基本操作 添加用户: useradd xxx 查看所有的用户: cat /etc/passwd 用户更改组: usermod -G groups loginname 将用户从组中删除: gpas ...
- Linux 权限位详解
1. Linux 权限位 对于权限,有点绕,因为文件的权限和目录的权限是有一些区别的. 在Linux中,有5种权限,分别是,r.w.x.s.t. 可读权限:r 可写权限:w 可执行权限:x Setui ...
- 深入理解linux的权限设置和SUID,SGID以及粘滞位
我们知道文件的权限可以用三个八进制数字表示.其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了.那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限.这个八进制数 ...
随机推荐
- Bzoj 4408: [Fjoi 2016]神秘数 可持久化线段树,神题
4408: [Fjoi 2016]神秘数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 177 Solved: 128[Submit][Status ...
- parseSdkContent failed Could not initialize class android.graphics.Typeface
Deleting ".android" is temporarily fixing the problem with me as after sometime it begins ...
- Python Requests库
背景 Requests is an elegant and simple HTTP library for Python, built for human beings. Requests是一个优雅简 ...
- Android基于XMPP Smack Openfire下学习开发IM(六)总结
不管学习什么都应该总结 这里我把关于Xmpp的一些方法整理到一个工具类中了 我就分享给大家 XmppConnection.java package com.techrare.utils; import ...
- [置顶] 在Ubuntu下实现一个简单的Web服务器
要求: 实现一个简单的Web服务器,当服务器启动时要读取配置文件的路径.如果浏览器请求的文件是可执行的则称为CGI程序,服务器并不是将这个文件发给浏览器,而是在服务器端执行这个程序,将它的标准输出发给 ...
- btrace 笔记
转载请注明原链接地址 http://www.cnblogs.com/dongxiao-yang/p/6134393.html btrace 是一个可以不用重启线上java业务查问题的神器,记一下自己折 ...
- Servlet/jsp 中 获取页面所有传递参数
Enumeration en = request.getParameterNames(); while(en.hasMoreElements()){ String el = en.nextElemen ...
- 解决SDK下载时速度过慢的问题
1.打开android sdk manager 2.打开tool->options,如图所示 3.将Proxy Settings 里的HTTP Proxy Server和HTTP Proxy P ...
- Linux kernel驱动相关抽象概念及其实现 之“bus,device,driver”
bus,device,driver三个很重要的概念贯穿Linux内核驱动架构,特转载一篇博文: (转载自http://blog.csdn.net/gdt_a20/article/details/642 ...
- [rxjs] Creating An Observable with RxJS
Create an observable var Observable = Rx.Observable; var source = Observable.create(function(observe ...