【发布时间】:2016-04-22 06:34:59
【问题描述】:
我正在编写一个 setuid 根程序。这个程序需要打开一个文件进行写入,然后写入一些内容。打开文件只需要euid 0,就可以删除权限了。
要删除权限,我可以将当前 uid 设置为 seteuid。但我正在考虑切换到nobody:nogroup。
现在,我想知道:我可以假设没有人在每个系统上都是 65534(并且 nogroup 也是 65534)吗?它是由某个标准(可能是 POSIX)定义的吗?
【问题讨论】:
-
在我的 FreeBSD 和 Gentoo 机器上确实是 65534,但在我的 Arch Linux 机器上,nobody 的 uid 是 99。所以我想说这绝对不是你可以在现实世界中做出的假设。
标签: posix user-permissions uid