linux----suid\sgid
1、suid和sgid 都是针对二进制程序来说了,bash脚本不在它的作用范围。
2、如果一个二进制文件设置有suid,那么在userA用户执行它时,会以文件所属用户的身份来执行。sgid同理;
3、suid的优先级别比sgid的要大,也就是说如果同时设置了这两个话,和只设置suid一样;
4、一般说来一个文件所属用户的权限比所属组的权限更大,所以只要设置sgid可以解决的事就不要设置suid。
例子:
1、以chown为例说明suid的作用。root/usra 是两个不同的用户
root> cp /bin/chown /tmp/ #把chown复制到/tmp/用来做测试。
root> touch /tmp/test.txt #创建一个test.txt文件,由于是以root身份运行的touch所以文件的所属用户和组都是root
usra> /tmp/chown usra.usra /tmp/test.txt #usra用户想要修改test.txt文件的所属用户和组,会被提示没有权限。
root> chown u+s /tmp/test.txt #root用户为/tmp/chown增加suid。
usra> chown usra.usra /tmp/test.txt #成功
2、为什么说suid,sgid只是会对二进制文件。
root> touch mybash.sh
root> echo "echo this is the content of mybash.sh">/tmp/mybash.sh
root> chmod 744 /tmp/mybash.sh #别以为这个usra用户就不能执行mybash.sh中的脚本了
usra> bash /tmp/mybash.sh #执行成功,没有x权限是说other不能以/tmp/mybash.sh这种方式来执行,不是说这个文件就不能执行了。
最新文章
- ReactNative——打包发布
- Javascript中构造函数与new命令
- AFNetworking到底做了什么
- react native下android开发环境搭建
- archlinux安装输入法需要的包及archlinux无法使用输入法的解决
- 解决:Eclipse调试的时候报错'Launching XXX' has encountered a problem. Cannot connect to VM.
- Linux mkisofs 创建光盘镜像文件(Linux指令学习笔记)
- SpringMVC最基础配置
- .net单元测试——常用测试方式(异常模拟、返回值测试、参数测试、数据库访问代码测试)
- [CodeForce]358D Dima and Hares
- 【IOS学习基础】内存管理
- Java程序占用的内存可能会大于Xmx
- .NET开发微信小程序(基础配置)
- SSM-SpringMVC-08:SpringMVC中以继承AbstractController的方式实现处理器
- KnockoutJS知识规整目录
- 用 python 生成一个简单的词云图
- hive优化之并行执行任务
- 从R-CNN到FAST-RCNN再到Faster R-CNN
- Java 问卷调查
- Python mysql backup