Estoy corriendo Android Revolution HD 52.0 custom ROM (Android 4.3) con Koush del superusuario 1.0.3.0 en un Samsung Galaxy S3 GT-I9300.
En la esperanza de la utilización de algunos nativos de shell aplicaciones en mi teléfono para el propósito de copia de seguridad y sincronización con mi GNU/Linux, he instalado opkg desde aquí: http://dan.drown.org/android/, y se fue a instalar openssh y rsync. Todos los nuevos archivos binarios en /data/local/bin, y mis propias secuencias de comandos también están en /data/local.
El uso de Jack Palevich del Terminal Android soy capaz de utilizar rsync a través de ssh para empujar los archivos en mi pc desde mi teléfono, pero sólo cuando no se ha iniciado la sesión como root (es decir, cuando no he usado el comando 'su').
Al ejecutar las secuencias de comandos como root (después de la ejecución de la ub en el emulador de terminal), me sale el siguiente error:
rsync: no se pudo exec ssh: Permiso denegado (13)
Me sale el mismo mensaje de error usando adb shell + ub.
La línea de la secuencia de comandos es:
/data/local/bin/rsync --itemize-changes --verbose --human-readable \
--log-file=$local_path/log/nbbak-$(date +%F-%H-%M-%S).log \
--recursive --update --times --modify-window=1 \
--rsh="/data/local/bin/ssh -i $keyfile -p $port" \
$local_path/ $remote_path/
local_path actualmente es /storage/extSdCard. He añadido el \ aquí para mejorar la legibilidad.
Como ya he dicho, esta operación (rsync poner) funciona cuando se utiliza la secuencia de comandos de Palevich del Terminal sin su.
Mis preguntas son:
¿Cuál es el problema? Es acerca de cómo Android asigna userids a los procesos? (Como yo lo entiendo, los nuevos procesos se ejecutan todas con su propio id de usuario. Es esto lo que está sucediendo aquí - es rsync, en realidad, no se ejecuta como root, por lo que no es capaz de iniciar el proceso de ssh como root). O es algo más? ¿Cómo podría solucionar esto? He intentado correr logcat, pero no sé lo que estoy buscando.
¿Cuál puede ser su solución de estar con mi configuración actual?
Me gustaría correr rysnc a través de ssh como root, ya que si bien funciona en el emulador de terminal sin su, yo sólo soy capaz de empujar, tirar los archivos de esa manera, mientras que la espero como root de que yo podría tirar de archivos.