juandediosyanez
Posts: 7
Joined: Sun Aug 27, 2017 8:31 am

Permisos ROOT, USER y script Python

Sat Dec 16, 2017 8:23 am

Buenas a todos, os comento el siguiente problema:

Tengo un programa en Python que quiero proteger de algún modo de cara a otros usuarios, pero que estos otros usuarios puedan usarlo. He estado probando con el tema de los permisos de usuario, los otros usuarios serán un USER cualquiera, y yo en este caso ROOT o PI de un grupo de usuarios con permisos root.

Pues bien, he creado un ejecutable *.sh desde root y le dado permisos 771, para que otros usuarios solo puedan ejecutarlo. Y al script Python igual. Salgo de root y entro como USER y cuando quiero ejecutarlo me da un error de permisos Errno13.

El script solo se logra ejecutar cuando tiene permisos con lectura, pero claro, este permiso da acceso al código y es lo que no quiero, pues en este script hay contraseñas de servidores FTP y correos electrónicos.

¿Alguna solución? ¿conocéis alternativas a esto? La finalidad es esa, poder correr un script Python pero no poder editar el codigo ni tener acceso al mismo.

(Se que ningún método es infalible, pero al menos no dejarlo fácil)

raspdroid
Posts: 1524
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Permisos ROOT, USER y script Python

Sat Dec 16, 2017 3:23 pm

Hola

Para hacerlo ejecutable (el script en bash) usa chmod +x <archivo>

Saludos

juandediosyanez
Posts: 7
Joined: Sun Aug 27, 2017 8:31 am

Re: Permisos ROOT, USER y script Python

Sat Dec 16, 2017 4:02 pm

Es que lo hago y me da error.

Al final he dado permisos de lectura y ejecución al archivo .sh y a la carpeta dónde se encuentra el script de Python solo permiso de ejecución.
Ahora parece que intenta hacer algo pero me da un error de gpio en dev/mem no permitido inténtelo con root (cosa que por otro lado no puedo pues USER no puede ser root).

56kbps
Posts: 87
Joined: Wed Apr 13, 2016 6:22 am

Re: Permisos ROOT, USER y script Python

Sat Dec 16, 2017 11:07 pm

Creo que sudo puede ser la solución.

Otra solución es crear una aplicación web, es decir, servirla por HTTP. Ahí nunca se tendrá acceso al código fuente. Se sirve por localhost para que únicamente los usuarios locales puedan ejecutarla. Además, se tendrá que proteger contra ataques CSRF. Dejando de lado estos detalles, parece una buena solución, ni siquiera hace falta que tenga una interfaz web creada con HTML, puede funcionar a modo a API. De hecho el usuario no tiene porque saber que ahí, bajo un ejecutable, hay peticiones a un servidor HTTP.

De todos modos creo que con sudo basta, (creo que aquí recurrir a Setuid no sirve por ser scripts).

Por cierto, tal vez se pueda intentar algo con SELinux o AppArmor. No tengo ni idea, pero por darle un ojeada no se pierde nada.

Return to “Español”

Who is online

Users browsing this forum: No registered users and 4 guests