在Unix上,查找执行该程序的用户是否为root?

时间:2009-03-13 04:21:30

标签: ruby-on-rails ruby bash unix rake

我正在编写一个rake脚本,如果执行rake脚本的用户具有root权限,我想检测(如果可能的话,使用Ruby而不是bash)。

如果它不是root,那么我想终止脚本。

2 个答案:

答案 0 :(得分:41)

uid课程中使用euidProcess

raise 'Must run as root' unless Process.uid == 0

答案 1 :(得分:1)

我不知道Ruby,但您要检查的是用户ID是否为0.在C中,您可以通过选中getuid()来执行此操作。在Unix命令行中,您还可以检查id -u的输出。