问题标签 [setuid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1637 浏览

c - setuid(0) 和系统失败

我有一个在 C 中运行的程序。这需要使用 system.iptables 执行“iptables”命令。

我试过

setuid 和 system 不能共存。从系统手册页

不要在具有 set-user-ID 或 set-group-ID 权限的程序中使用 system(),因为某些环境变量的奇怪值可能会被用来破坏系统完整性。请改用 exec(3) 系列函数,但不要使用 execlp(3) 或 execvp(3)。事实上,system() 在 /bin/sh 是 bash 版本 2 的系统上无法从具有 set-user-ID 或 set-group-ID 特权的程序正常工作,因为 bash 2 在启动时会放弃特权。(Debian 使用修改后的 bash,它在作为 sh 调用时不会这样做。)

我怎样才能克服我的问题?

谢谢

0 投票
1 回答
224 浏览

c - Need help improving a small C program

I wanted to launch a bash script (read: bash not sh script) as a root not as the user calling it, however bash ignore setuid on scripts, so I chose to write a very small script that takes a script/arguments and call it with setuid set.

This worked well and I went even further to verify that the script has setuid set on, executable and setuid() called on the owner of the file and not as root, to avoid any misuse of the program and I ended up with the program below..

The exercise was not only to solve my problem, but it was also a way to get more into C, so what do you guys suggest? Is there anything I should improve ?

Thank you..

0 投票
3 回答
1609 浏览

java - 在 Ubuntu 中使用 setuid 从 C 执行 Java

我正在运行 Ubuntu 11.04。

我正在尝试使用“C”execlp 程序来运行 Java 程序,然后我想在“C”程序上设置 setuid,以便 Java 程序可以以 root 身份执行。这里有一个例子:

http://www.coderanch.com/t/110254/Linux-UNIX/setuid

除了不是tomcat用户,我使用了root,我按照这个例子进行了操作。

Root 能够执行“C”程序,该程序又执行 Java 程序。并且,在授予 root 所有权之前,用户(我)可以运行执行 Java 程序的“C”程序。但是一旦我设置使用 setuid,并且用户尝试执行该程序。我得到似乎是 LD_LIBRARY_PATH 类型的错误: java:加载共享库时出错:libjli.so:无法打开共享对象文件:没有这样的文件或目录

libjli.so 文件存在于 Java JRE 下。用户和 Root 在单独运行时都可以看到此文件。但是用户在 setuid 到 root 发生后运行程序时看不到它。

当 setuid 程序执行时,是否有一些不同的方式设置 root 的 LD_LIBRARY_PATH?这是交互式与非交互式问题吗?

有任何想法吗?提前致谢。

0 投票
1 回答
658 浏览

ios4 - iphone应用程序以root身份运行的Setuid

我试图让我的 iphone 应用程序以root身份运行,我被告知要setuid,我不知道该怎么做。

0 投票
1 回答
3035 浏览

shell - gdb可以调试suid root程序吗?

我做了一个调用 setuid(0) 和 execve("/bin/bash",NULL,NULL) 的程序。

然后我做了chown root:root a.out && chmod +s a.out

当我执行时,./a.out我得到一个 root shell。但是,当我这样做时,gdb a.out它会以普通用户身份启动该过程,并启动一个用户 shell。

那么...我可以调试一个 suided 根程序吗?

0 投票
2 回答
420 浏览

linux - 我可以使用 setuid 或 sticky 使 PHP 创建的文件成为某个用户吗?

我正在使用 WordPress,我希望 WordPress 创建的文件拥有创建它们的文件的用户,而不是运行 Web 服务器的用户。例如,我的 WordPress 文件和目录归philip组所有www-data。当 WordPress 创建文件时,我希望文件的所有者是philip而不是www-data.

这可能吗?我怀疑它可以用setuidor实现sticky bit,但我不知道如何应用它。

0 投票
1 回答
3092 浏览

linux - Linux 伪代码中有效、真实、保存的文件系统 UID 操作

我花了一些时间在 Groovy 中编写了一些代码,以使 Linux UID 操作对我来说不会那么混乱,因为手册页很乱。结果是一个 TestCase,它旨在显示在 setuid、seteuid、setfsuid、setreuid 和 setresuid 调用的底层发生了什么。未考虑有关返回的错误代码(或不返回)的详细信息。

问题基本上是:我错过了什么吗?

0 投票
5 回答
5548 浏览

php - 如何从 apache (centOS) 以 root 身份运行 cmd?

我正在尝试在 CENTOS 中运行“useradd”命令,但我不能,因为我需要 root 权限。

在我的php_info();我有'--disable-posix'。我尝试重新安装我的 PHP,并尝试使用 yum 和更多选项启用 posix,但没有运气。

有人可以帮助我启用 posix 或其他一些解决方案吗?我注意到这posix_getuid();是有效的,但posix_setuid();不是。

有什么解决办法吗?

我需要useradd通过“用户单击”插入 passwd(root) 命令。最好和最安全的方法是什么?

非常感谢!

科伦或

0 投票
1 回答
1461 浏览

macos - 具有提升权限的 Mac App Store 应用程序

我有一个关于 Mac App Store 的问题。我计划发布一个具有管理员权限的软件来实现其核心功能,但根据 Apple -

2.27 - 请求升级到 root 权限或使用 setuid 属性的应用程序将被拒绝。

我必须寻求其他方法来实现这一目标。我正在考虑在不需要使用 root 权限的情况下分发应用程序,并为用户提供下载我的帮助应用程序的选项,该应用程序将在我的网站上免费分发。我的应用程序和助手之间的一些进程间通信魔法似乎符合要求。但为了让事情变得更好——

2.16:下载或安装额外代码或资源以添加功能或更改其主要用途的应用程序将被拒绝

你看,我只需要提供一个指向我的网站的链接,这反过来会建议用户下载帮助程序。所以我的问题是,我的处理方法是否会避开苹果可怕的拒绝?

0 投票
2 回答
779 浏览

ssh - 以没有 sudo/su 权限的其他用户身份运行脚本

我正在尝试编写一个脚本,以便它可以由一个用户调用并作为另一个用户执行。我认为 setuid 可能能够做到这一点,所以我使用 chmod u+s 启用了 setuid,脚本的所有者是 user1。我将脚本(现在只包含 whoami)称为 user2,它仍然显示 user2 而不是 user1。我怎样才能使它成为user1。

-- 我的最终结果是我希望一个用户能够调用此脚本并将其 ssh 到另一台服务器并以另一个用户的身份执行命令。