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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *