为了账号安全,请及时绑定邮箱和手机立即绑定

exec执行的程序权限问题

exec执行的程序权限问题

蝴蝶不菲 2019-05-21 09:37:11
我用c语言封装了一条cat/etc/shadow的命令,设置程序的的suid位并把它的属主设为root,为什么以普通用户执行时,还是不能访问/etc/shadow?难道是exec执行新程序时不继承suid属性吗?//encapsulation.c#include#include#include#includeintmain(){printf("uidis%d\n",getuid());printf("euidis%d\n",geteuid());execlp("/bin/sh","sh","-c","echo$UID$EUID;/bin/cat/etc/shadow",(char*)NULL);return0;}➜testgccencapsulation.c-oencapsulation➜test./encapsulationuidis1000euidis1000/bin/cat:/etc/shadow:Permissiondenied➜testsudochownroot:rootencapsulation[sudo]passwordforinovker:➜test./encapsulationuidis1000euidis1000/bin/cat:/etc/shadow:Permissiondenied➜testsudochmodu+sencapsulation➜test./encapsulationuidis1000euidis0/bin/cat:/etc/shadow:Permissiondenied➜testsudo./encapsulationuidis0euidis0root:!:17655:0:99999:7:::daemon:*:17647:0:99999:7:::bin:*:17647:0:99999:7:::sys:*:17647:0:99999:7:::sync:*:17647:0:99999:7:::games:*:17647:0:99999:7:::man:*:17647:0:99999:7:::...
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

suid只对二进制可执行程序有效,如果你把编译过后的encapsulation设置了4755权限,那么应该是直接./encapsulation执行有效
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 964 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号