3 votos

¿Permisos del shell Android script?

Tengo un teléfono rooteado, y estaba jugando con el emulador de terminal. Traté de escribir un simple shell script (test.sh) :

#!/bin/sh
echo "Hello, World!" 

Entonces abrí el emulador de terminal, me dirigí al directorio donde estaba mi script y escribí:

./test.sh

y obtuve un error de "permiso denegado". Así que lo intenté:

su
./test.sh

De alguna manera, todavía el permiso es denegado. Así que intenté (todavía como Root) :

chmod 775 test.sh
busybox chmod 775 test.sh
busybox chmod +X test.sh

Ninguno de los 3 dio errores, pero ./test.sh seguía dando permiso denegado. Como último recurso probé

sh test.sh

Eso terminó funcionando. Finalmente.

Tengo curiosidad por saber por qué se denegó el permiso para mi propio shell script chmodded a 775 cuando se ejecuta como Root. ¿Cómo se puede negar el permiso para cualquier cosa como Root? ¿Cómo puedo arreglar esto y hacer que ./test.sh funcione?

3voto

Nick Pierpoint Puntos 7976

Los permisos de ejecución en la tarjeta SD están bloqueados por esa razón.

Vea esto:

/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,**noexec**,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

El noexec La parte de esta línea resaltada con dos asteriscos es la clave para evitar cualquier ejecución de scripts/binarias desde la SDCard.

Tengo la extraña sensación de que esto ya fue respondido antes... deja-vu

Editar

Yup @Izzy ha respondido este antes y aquí también.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X