setuid相关内容

以与长时间运行的 Python 进程不同的用户身份运行子进程

我有一个长时间运行的守护程序 Python 进程,当某些事件发生时,它使用子进程生成新的子进程.长时间运行的进程由具有超级用户权限的用户启动.我需要它生成的子进程作为不同的用户(例如“nobody")运行,同时保留父进程的超级用户权限. 我正在使用 su -m nobody -c 但这似乎是重量级的,并没有死得很干净. 有没有办法以编程方式而不是使用 su ..
发布时间:2022-01-18 15:20:27 Python

setuid:不支持操作

包主进口 (“日志"“系统调用")功能主(){setuidErr := syscall.Setuid(0)如果 setuidErr != nil {log.Fatal(setuidErr)}} 当我运行上面的代码时,出现以下错误: 不支持操作 退出状态 1 go 版本:1.15.5 有人可以帮我吗? 解决方案 这里引用官方文档 在 Linux 上 Setuid ..
发布时间:2021-09-12 19:24:03 其他开发

Linux C编程以用户身份执行

我有一个以root身份运行的程序.我希望该程序以普通用户身份执行另一个应用程序.我尝试了 setgid(),它可以工作,但是我不能再回到root或其他用户的位置.暂时的程序很简单; #include#include#includeint main(int argc,char * argv []){如果(argc!= 2){prin ..
发布时间:2021-05-29 22:36:13 服务器开发

将SIGHUP信号发送到Perl中的进程

我有一个UNIX守护程序,它等待SIGHUP刷新数据.我尝试通过Proc :: Killall("killall('HUP','mydaemon');")从Perl脚本(在同一服务器上的Apache www-data:www-data下)发送信号,但是我没有适当的权限. suid位也不起作用.来自外壳的'kill -n HUP'正在工作. 您有这样做的主意吗? 解决方案 通常的解决方 ..
发布时间:2020-07-07 01:31:53 其他开发

setuid()失败-不允许操作

changeIDs()试图使用setuid()更改有效的用户ID 但总是出错,我不确定为什么. 我在计算机上有两个用户.用户是UID为1000的管理员.另一个标准用户(用户2)的UID为1001. 我想使用此程序将user2的有效UID设置为user1的有效UID(1000).为什么setuid()不断出错? 我确保也可以在程序可执行文件上运行chmod u + s,但仍然失败. ..
发布时间:2020-07-07 01:30:48 服务器开发

非root用户拥有的setuid程序

我有一个setuid程序(getpwd),仅当由root拥有时才按预期运行. -rwsr-xr-x 1 root root 7981 2011-11-17 18:28 getpwd* 换句话说,当用户"alice"在命令行上执行我的程序时,一切正常 程序在目录/home/secure中打开一个文件,然后将内容打印到屏幕上. alice@devbox:/home/alice/t ..
发布时间:2020-07-07 01:30:44 其他开发

setuid包装器的注意事项

我编写的Python扩展程序需要root访问权限才能进行单个硬件初始化调用.我不想仅以扩展程序中的这个调用的root用户身份运行整个脚本,因此我想编写一个包装器以进行初始化,然后再使用用户权限并运行实际的脚本. 我打算通过sudo运行该包装器,例如 $ sudo devwrap python somescript.py 我正在考虑类似(已更新,以修复几个错误): int ma ..
发布时间:2020-07-07 01:30:40 其他开发

setuid vs seteuid函数

setuid和seteuid函数之间有什么区别.在手册页中,两个功能都有相似的描述. setuid: DESCRIPTION setuid() sets the effective user ID of the calling process. If the effective UID of the caller is root, the real UID and sa ..
发布时间:2020-07-07 01:30:38 服务器开发

如何在非root用户的程序中设置setuid位?

我正在尝试将setuid位置1来使python脚本可执行.该程序属于用户"bgmc",必须在目录"/home/bgmc"中创建一些文件,但被另一个用户“客户端"调用.确实,我不希望用户“客户端"更改程序创建的文件.我使用了c-wrapper来调用该程序(请参见关于shell脚本的setuid ): #include #include #include ..
发布时间:2020-07-07 01:30:34 其他开发

Clearcase:如何控制SUID程序是否在视图中工作?

我们有两台运行ClearCase的机器(正在讨论中)-不同版本的ClearCase.否则,它们在设置上将几乎相同-相同的Linux x86/64内核等. 在一台计算机上,视图中的SUID根程序就像SUID根程序一样. 在另一台计算机上,视图中的SUID根程序无法使用SUID特权,从而导致意外结果. 到目前为止,我们发现的唯一区别是: 工作视图:CC 7.0.1 非工作视图 ..
发布时间:2020-07-07 01:30:32 其他开发

可执行文件上的setuid似乎不起作用

我编写了一个名为killSPR的小型C实用程序,以杀死我的RHEL盒上的以下进程.这个想法是让任何登录到此linux系统的人都能够使用此实用程序杀死以下提到的进程(不起作用-下文解释). cadmn@rhel /tmp > ps -eaf | grep -v grep | grep " SPR " cadmn 5822 5821 99 17:19 ? 00:33:1 ..
发布时间:2020-07-07 01:30:30 服务器开发

在Windows下删除进程权限

出于安全原因,我正在寻找一种删除进程权限的方法.我想以具有特权的用户身份开始,以有限的用户身份结束. 例如,我希望我的Web服务器仍然可以在端口80上侦听受限用户. 如何在Windows下执行此类操作.与Unix类似: bind_to_80(); chroot("/some/limited/dir"); setuid(limited_user_id); setgid(limite ..
发布时间:2020-07-07 01:29:25 其他开发

system()与execve()

system() 和解决方案 系统将调用外壳程序( sh )执行作为参数发送的命令. system的问题,因为外壳行为取决于运行命令的用户.一个小例子: 创建文件test.c: #include int main(void) { if (system ("ls") != 0) printf("Error!"); return 0; ..
发布时间:2020-07-07 01:29:21 其他开发

以与长期运行的Python进程不同的用户身份运行子进程

我有一个长期运行的守护进程Python进程,该进程使用子进程在发生某些事件时生成新的子进程.长时间运行的过程由具有超级用户特权的用户启动.我需要它产生的子进程以其他用户身份(例如"nobody")运行,同时保留父进程的超级用户特权. 我当前正在使用 su -m nobody -c 但这似乎很重,而且不会很干净地死掉. ..
发布时间:2020-07-07 01:29:19 Python