setuid

    1热度

    2回答

    我想通过golang制作一个自定义的网络服务器。 它需要根绑定到端口80. 但是我想尽快删除根目录。 syscall.SetUid()根据ticket #1435返回“不支持”。 我随时可以重新路由端口80通过iptables的别的东西,但是这开辟了任何非根进程伪装成我的网络服务器 - 我不想成为可能。 如何放弃特权我的应用程序(或可替换地解决这个干净)。

    4热度

    2回答

    我试图从多个用户执行一个C程序,并试图以程序中的其他用户身份登录以访问文件。但我得到错误 的setuid:操作不允许 我可以做这样的事情我不需要每次使用sudo?就像,每次使用setuid都可以完全访问程序而不需要调用sudo?

    0热度

    1回答

    我有一个程序write.c,它创建一个新文件。我通过root用户编译并使用chmod u+s write来设置setuid的粘性位。 现在,如果一个user2执行这个程序。为什么创建一个新的文件,其根目录是所有者?该文件的所有者应该是user2。 为此,我使用setuid()和seteuid()将用户ID更改为user2。然后创建该文件。但是这也创建了root作为所有者的文件。我想创建该文件作为u

    0热度

    1回答

    我想了解缓冲区溢出和setuid。我用这个来源: #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void){ char prog[]="/bin/ls -hal"; char in[8]={0}; printf("Name of a dir to list : ");

    3热度

    1回答

    我有一个setuid程序,然后代表用户以root身份调用cpan。这适用于像yum这样的命令,但cpan失败。我的问题是,用户的主目录是NFS装入共享,并使用root-squash选项,因此root无权访问用户的主目录。 Cpan尝试在用户家中创建一个.local目录,该目录由于根部壁球而失败。 有没有一种方法来配置cpan,以便它将使用另一个路径作为其基础来构建包?或者,有没有办法将root设置

    1热度

    1回答

    如果我让根特权进程模拟一些较小的用户并分支一个子进程,那么假设子进程拥有用户权限并且与根无关,那么安全吗?我使用默认的自定义方法作为用户,并恢复到所有者的信誉(root)。他们被抽象化。但通常,这些方法会将整个过程的上下文更改为用户的上下文(可能包括uid,gid等)。

    2热度

    1回答

    我编写调用fork()来创建子进程的C应用程序。该应用程序以root身份运行。在父进程中,我使用wait()来等待终止子进程。在子进程中,我使用prctl()和PR_SET_PDEATHSIG选项来检测父进程的死亡。它工作正常。为了降低安全问题的风险,子进程调用setuid()来更改UID。问题是:子进程无法检测到父进程的死亡。 我已搜查四处寻找答案,发现一些有用的链接,但它并不能帮助: Dete

    3热度

    2回答

    迄今为止我所读到的所有文献都在setuid中,以暗示它是系统调用的方式谈论seteuid。第2节man页面从不会说功能是否是系统调用,所以seteuid(2)没有帮助。如果它不是系统调用,意味着内核不提供该功能,那么如何实现“设置有效的UID”?

    5热度

    1回答

    我了解以root用户身份运行脚本的含义,特别是通过Web应用程序。然而,作为我的Web应用程序的一部分,我需要使用卷曲与tor,这需要偶尔重置tor ip。当服务重新启动时,tor可以获得一个新的IP地址为service tor restart。因为只有root可以做到这一点,所以我写了一个C wrapper脚本来完成我所需要的工作,然后编译它并设置setuid root并将其更改为root用户所

    1热度

    1回答

    我想在我的(debian stretch)服务器上设置一个容器,并尽可能地将其锁定。 容器my-container只需要启动时,它则做了一些处理,返回(整个事情大约需要一秒钟)。 我可以很容易地以docker start -a my-container作为根。 我的问题是这个处理需要用php脚本触发。我没有给www-data启动docker容器的权利,而是用一个执行docker命令的小型setui