linux - 从 Haskell 检查 root 权限

标签 linux haskell root

我的程序需要提升权限,因此在没有这些权限的情况下运行时会崩溃。

有没有办法检查Haskell程序是否在Linux上以root身份运行?

即区分

sudo ./myProgram

./myprogram

最佳答案

来自 unix 包,System.Posix.User:

getRealUserID :: IO UserID
getEffectiveUserID :: IO UserID

当在sudo下运行时,我认为它们都应该报告0(root)。

当作为 setuid 运行时,只有第二个应该报告 0 (如果我没记错的话)。

我希望 getuid/geteuid 的手册页应该能够澄清。

关于linux - 从 Haskell 检查 root 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57730504/

相关文章:

javascript - 火狐浏览器。如何获取当前加载网站的css javascript文件?

以编程方式共享 Android 屏幕(Root)

linux - awk 找到第一个匹配项,而不是所有匹配项

linux - 如何在 Linux Debian Wheezy 上安装 Haskell Platform?

Haskell 为自定义类型导出 Show

haskell - 如何从 GHC 为 Snow Leopard 获取 64 位二进制文​​件?

mysql - phpMyAdmin - 无法连接 - 无效设置 - 自从我添加了 root 密码 - 被锁定

linux - Bash PS1 为 root 显示 $ 而不是 #

c - Linux 在崩溃时自动重启应用程序 - 守护进程

arrays - 为什么这个数组检查 key 失败?