7得票3回答
在C语言中正确运行setuid程序的方法

我有一个权限为4750的进程。在我的Linux系统中存在两个用户,root用户和appz用户。该进程继承了作为"appz"用户运行的进程管理器的权限。 我有两个基本例程: void do_root (void) { int status; status = ...

11得票5回答
使用 LD_PRELOAD 与 setuid 二进制文件

我试图使用LD_PRELOAD在具有setuid权限的应用程序中预加载库。起初尝试了LD_PRELOAD,但似乎被setuid二进制文件忽略了,尽管在尝试其他像ls、dir等命令时,它是有效的。 根据LD_PRELOAD的文档: LD_PRELOAD A whites...

31得票5回答
从setuid root C程序调用脚本-脚本不以root身份运行

我需要以root身份运行一个bash脚本(不能使用无需密码的sudo或su),而在Linux中无法设置脚本的setuid位,因此我考虑从一个可执行文件中调用并使其设置setuid:$ cat wrapper.c int main(void) { system("/bin/bas...

8得票3回答
可执行文件上的setuid似乎不起作用。

我编写了一个名为killSPR的小型C工具,用于在我的RHEL系统中终止以下进程。这个工具的想法是任何登录到这个Linux系统的用户都可以使用它来终止下面提到的进程(但是并没有起作用,后面会解释)。 cadmn@rhel /tmp > ps -eaf | grep -v grep | ...

9得票2回答
使用setuid()函数降低特权时出现“Operation not permitted”错误

为什么使用os.setuid()/gid()的这些简单程序会失败?它是用Python编写的,但我认为这不是与语言相关的问题(最终都是相同的posix系统调用): import os, pwd if os.getenv("SUDO_UID") and os.getenv("SUDO_GID"...

19得票2回答
收到消息“sudo: must be setuid root”,但sudo已经是root拥有的

我尝试运行sudo,但它失败了:gregd@david $ sudo ls sudo: must be setuid root gregd@david $ which sudo /usr/bin/sudo gregd@david $ ll /usr/bin/sudo -rwxr-xr-x 1 ...

15得票5回答
如何在具有超级用户位的进程上运行Valgrind?

我正在按以下方式运行valgrind: /usr/local/bin/valgrind "进程名称" 执行后,它会给我以下错误信息: ==21731== ==21731== Warning: Can't execute setuid/setgid executable: ==21731...

11得票4回答
如何使用setuid()函数从root用户切换到其他用户,并有可能再次切换回root用户?涉及IT技术。

我正在尝试安全地运行一个需要以root身份运行并在不需要时降低权限的程序。如果我使用SUID位的chmod命令,并将其属于root,那么这样做效果很好,现在我的UID = 某个用户,EUID = root,因此我可以使用seteuid(0)和seteuid(getuid())分别提升和降低管理...

7得票1回答
如何递归地设置权限,文件夹为700,文件为600,而不使用find命令。

我正在尝试找到一种方法,在特定路径上递归地设置目录和子目录的权限为700,文件的权限为600。我会使用以下命令: find /path -type d -print0 | xargs -0 chmod 700 find /path -type f -print0 | xargs -0 chm...

16得票4回答
Python脚本的Setuid位:Linux与Solaris的区别

我正在Linux和Solaris上运行这个小的Python脚本,作为非特权用户:#!/usr/bin/python import os print 'uid,euid =',os.getuid(),os.geteuid() 在运行脚本之前,设置了脚本的setuid位(而不是Python解释器)...