Linux. Problemas al borrar un fichero desde script bash

Buenas.

Tengo un script bash que lo primero que hace es borrar un fichero con "rm". Cuando lo lanzo me da error de "Operación no permitida".

El script .sh pertenece a root, tiene activado el SUID y lo lanzo desde un usuario que está en sudoers.

El fichero problemático pertenece al usuario mysqly tiene permisos 0666.

Si voy a mano y hago "sudo rm", al pedirme el password, me deja, pero no desde el script.

No entiendo dónde está el problema.

¿Alguna ayuda?

Gracias!

EDIT:

El fichero lo se guarda en /tmp/ y está creado mediante redirección a fichero desde MySQL con INTO OUTFILE
banderas20 escribió:Buenas.

Tengo un script bash que lo primero que hace es borrar un fichero con "rm". Cuando lo lanzo me da error de "Operación no permitida".

El script .sh pertenece a root, tiene activado el SUID y lo lanzo desde un usuario que está en sudoers.

El fichero problemático pertenece al usuario mysqly tiene permisos 0666.

Si voy a mano y hago "sudo rm", al pedirme el password, me deja, pero no desde el script.

No entiendo dónde está el problema.

¿Alguna ayuda?

Gracias!

EDIT:

El fichero lo se guarda en /tmp/ y está creado mediante redirección a fichero desde MySQL con INTO OUTFILE

¿Has probado con el usuario root a ver si te dice el mismo error?

Mas que nada por descartar algo de primeras.
@KePeRHeLL
Si lo hago con "sudo" y le meto el pwd, me deja, pero no es plan. No entiendo por qué no funciona con todos los permisos que le he dado.
Haz un ls -l al script a ver que permisos y usuarios te pone. Y otro al archivo de salida de mysql.
KePeRHeLL escribió:Haz un ls -l al script a ver que permisos y usuarios te pone. Y otro al archivo de salida de mysql.


Luego lo posteo, pero creo que es un combo de calamidades con:

1. Fichero de salida que genera MySql
2. Puto directorio /tmp

Por lo que he leído, ambas cosas tienen sus mierdecillas.

Luego posteo!
Linux ignora el setuid root en scripts por razones de seguridad.

Algo de literatura sobre el tema: http://www.faqs.org/faqs/unix-faq/faq/p ... ion-7.html

Donde esta el problema para añadir una linea en sudoers que permita a ese usuario lanzar ese script con privilegios elevados y sin prompt de password si el setuid no era ningun problema?

No entiendo el "no es plan" . de hecho usando sudo en vez de setuid root tienes mayor granularidad de que y como permites ejecutar con privilegios elevados
Zokormazo escribió:Donde esta el problema para añadir una linea en sudoers que permita a ese usuario lanzar ese script con privilegios elevados y sin prompt de password si el setuid no era ningun problema?


En que no sé evitar el prompt de password :(
banderas20 escribió:
Zokormazo escribió:Donde esta el problema para añadir una linea en sudoers que permita a ese usuario lanzar ese script con privilegios elevados y sin prompt de password si el setuid no era ningun problema?


En que no sé evitar el prompt de password :(

man sudoers

Tiene un atributo NOPASSWD que hace lo que dice su nombre. Añades una linea para el user que correra el script para que pueda ejecutar el script sin pass y ale.
8 respuestas