Configurar www-data (lighttpd) como sudoer no funciona

Configurar www-data (lighttpd) como sudoer no funciona

He instalado lighttpd con fast-cgi en raspberry pi. Cuando ejecuto un script de Python que requiere privilegios de root, aparece el siguiente error:

RuntimeError: no hay acceso a /dev/mem. ¡Intenta ejecutar como root! Rastreo (última llamada más reciente): Archivo "/var/www/index.py", línea 134, en GPIO.setup(17, GPIO.OUT);#enable Un RuntimeError: No hay acceso a /dev/mem. ¡Intenta ejecutar como root!

Agregué www-data como sudoer usando visudo y "sudo usermod -a -G sudo www-data", pero no funcionó. ¿Cómo puedo otorgar privilegios de root a lighttpd? La seguridad NO es importante ya que este es un proyecto personal.

Respuesta1

lighttpd no usa sudo. Por lo tanto, agregar www-data al grupo sudoers no ayuda.

Debe cambiar el usuario web en su archivo de configuración de www-data a root:

server.username = "root"

Puedes abandonar el grupo en www-data si es necesario, pero si quieres, también puedes cambiarlo a root.

Sin embargo, lo que podría hacer en su lugar es usar sudo como www-data desde su script de Python. Asegúrese de configurar NOPASSWD.

En cualquier caso, ejecutar un servidor web root(o con la capacidad de sacceder a cualquier uservidor para cualquier comando) es una muy mala práctica, ya que cualquier vulnerabilidad en el servidor web o en cualquiera de las aplicaciones web a las que sirve significa que todo el sistema podría verse totalmente comprometido. .

En este caso, lo más probable es que desee que cualquier operación que deba realizarse /dev/memla realice una utilidad dedicada que sea setuid root (o se ejecute a través de sudo) o mediante un servicio separado que sea invocado por su servidor web.

información relacionada