首页 > 其他 > 详细

简单实现 sudo 与疑问

时间:2021-01-16 01:08:44      阅读:24      评论:0      收藏:0      [点我收藏+]

看了其他人的介绍 sudo命令实现原理简析
但是实测却不是这样,我的环境是 Linux localhost 5.4.85-1-MANJARO #1 SMP PREEMPT Mon Dec 21 21:38:53 UTC 2020 x86_64 GNU/Linux
实测能成功调用 setuid 然后可以执行其他命令。而且除了 "sudo" 那几条命令以外,不需要输入任何密码。这里有个疑问为什么我能直接调用 “setuid” 函数???
我这里测试如下:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char **argv)
{
    if (setuid(0))
        return -1;

    if (argc > 1)
        execvp(argv[1], argv + 1);
    else
        return -1;
}

如下是执行log
技术分享图片

简单实现 sudo 与疑问

原文:https://www.cnblogs.com/sinpo828/p/14283919.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!