首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setuid不生效

setuid不生效
EN

Stack Overflow用户
提问于 2012-12-11 16:51:29
回答 2查看 1.2K关注 0票数 0

假设有属于不同组的用户A和B。并且它们中的bot不是root

首先,作为用户A。

代码语言:javascript
复制
1) touch a.txt; echo "hello word" > a.txt
2)chmod 600
3) touch b
4) echo "cat a.txt" > b
5) chmod 4755 b

然后切换到用户B,我的假设是用户B可以成功运行二进制文件并得到问候语"hello word",但当我以用户B的身份实际运行二进制文件时,我得到的是"permission denied“。那为什么呢?

EN

回答 2

Stack Overflow用户

发布于 2014-05-09 15:27:09

Linux没有实现对脚本文件的S_ISUID位的处理;相反,使用解释器(外壳)的模式位。

票数 1
EN

Stack Overflow用户

发布于 2012-12-11 17:28:09

setuid文件的概念意味着,如果您在文件上打开了setuid bit,则执行该命令(文件)的任何人都将继承该文件所有者的权限。

代码语言:javascript
复制
$ chmod 4755 b --verbose
mode of `b' changed to 4755 (rwsr-xr-x)

我怀疑用户A和B属于不同的组,所以您还需要执行setgid。这可以通过添加2来完成,对于setuid和setgid add都可以得到6。

代码语言:javascript
复制
$ chmod 6755 b --verbose
mode of `b' changed to 6755 (rwsr-sr-x)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13816624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档