Вы можете проверить с помощью Process.uid
:
case (Process.uid)
when 0
# We're root!
else
$stderr.puts("You must run this with root privileges via sudo")
end
Не забывайте быть очень супер осторожными при написании сценариев, запускаемых от имени пользователя root.Рассмотрим код, подобный следующему:
system("convert #{image_path} #{target_path}")
Это серьезная уязвимость безопасности, поскольку ни один из аргументов оболочки не экранирован должным образом.Вам нужно будет убедиться, что все, что вы делаете с любыми пользовательскими данными, независимо от того, насколько тщательно вы думаете, что вы их просмотрели, воспринимается крайне подозрительно.Это особенно верно для любых операций, которые могут читать или записывать файлы.