首页 > 解决方案 > 获取当前进程保存的 set-user-id

问题描述

在标准库的帮助下,如何在 Ruby 中获取当前正在运行的进程的真实用户 ID ( Process.uid) 和有效用户 ID ( )非常明显。但我想知道保存的 set-user-IDProcess.euid的兄弟方法在哪里,比如?只有一种方法可以确定运行平台是否支持所描述的功能。Process.suidProcess::UID.sid_available?

标签: rubyunixprocessprivileges

解决方案


好吧,您不会喜欢这个,但是 AFAICT,这是获得suid该过程的唯一方法。

suid = `ps -o pid,suid`[/(?<=^#{Process.pid}\s)\s*\d+/].strip
#⇒ "1000"

可能应该先检查是否suid可用。基本上,这个正则表达式搜索从当前进程开始的行' pid


推荐阅读