Controlar si el usuario root ejecuta un script Love2D Lua

En Love2D usando el lenguaje Lua es sencillo detectar si el usuario root está ejecutando el programa o juego que andamos haciendo. Con 2 sencillas funciones podemos detectar primero el nombre del usuario y luego si este es root o no lo es. De esa forma podemos parar la ejecución del programa nada más comenzar si se trata del usuario root y limitar por tanto que no se continué ejecutando salvo que se use cualquier otro usuario en el sistema.

Aquí un par de funciones y como luego se pueden usar para comprobar y actuar. Este sencillo programa funcionará en love2D en GNU/Linux y para que funcione solamente con Lua se tendría que cambiar la parte de “love.event.quit()”.

function getSystemUserName()
   local handle = io.popen([[whoami]])
   local systemUserName = string.gsub(handle:read("*a"), "\n", "")
   return systemUserName
end

function isRoot(systemUserName)
   if (systemUserName == "root") then
      return true
   end
   return false
end

if (isRoot(getSystemUserName())) then
   print "please do not run the program with the root user"
   love.event.quit()
end

Algo importante a tener en cuenta si te vas a poner a realizar un programa con el framework Love2D. Un poco para controlar que se ejecute con un usuario que no sea root.

Deja un comentario