Implicaciones de ejecutar el script como argumento para shell

0

El contexto para la pregunta es el siguiente comentario en uno de mis respuestas:

  

@SergiyKolodyazhnyy Prefaciar un nombre de script con / bin / bash o incluso bash también es una forma común de resolver la falta de permisos ejecutables en el script.

He refutado con las observaciones obvias de que existe el peligro de que un script potencialmente malicioso pueda hacer lo que quiere, mientras que el archivo en sí no tiene el bit de ejecutable establecido, y la incompatibilidad obvia del script escrito para, por ejemplo, c-shell que se está ejecutando con shell tipo bourne (y la incompatibilidad de sintaxis entre shells tipo Bourne). Y tal como lo veo en retrospectiva, es casi un error de aviso de hacer curl somedomain/script.sh | bash .

Sin embargo, tengo curiosidad por si hay implicaciones potencialmente más graves. Sé que simplemente administrar un archivo puede ser peligroso y simplemente copiar y pegar de un script aparentemente inofensivo, pero tengo curiosidad de que exista algo no tan obvio sobre la ejecución de un script como argumento para shell.

    
pregunta Sergiy Kolodyazhnyy 29.10.2017 - 01:00
fuente

1 respuesta

3

En realidad no. Si alguien puede hacer que ejecutes un script malicioso, ya sea con ./scriptname o con bash scriptname , estás casi como un brindis. Además, no debe pensar en el permiso de ejecución como una protección contra el malware. Los permisos de ejecución ejecutan si usted puede ejecutar el script (a través de exec() y sus parientes), no si it tiene permiso para ejecutarse.

    
respondido por el Gordon Davisson 29.10.2017 - 04:04
fuente

Lea otras preguntas en las etiquetas