标签: ruby-on-rails ruby bash unix rake
我正在编写一个rake脚本,如果执行rake脚本的用户具有root权限,我想检测(如果可能的话,使用Ruby而不是bash)。
如果它不是root,那么我想终止脚本。
答案 0 :(得分:41)
在uid课程中使用euid或Process:
uid
euid
Process
raise 'Must run as root' unless Process.uid == 0
答案 1 :(得分:1)
我不知道Ruby,但您要检查的是用户ID是否为0.在C中,您可以通过选中getuid()来执行此操作。在Unix命令行中,您还可以检查id -u的输出。
getuid()
id -u